diff options
author | robi <robi> | 2010-08-22 19:09:46 +0000 |
---|---|---|
committer | robi <robi> | 2010-08-22 19:09:46 +0000 |
commit | e66d5f9b85fd816571fe4a780f05fc0ad0b8256f (patch) | |
tree | 73c4c5a2fa73417bde86f777ba4dd0903f3947ac /src/hard_link_stack.c | |
parent | 8f27364faf5c58eebce6616be246afaeff734a14 (diff) |
magic functions Part1 (inactive)
Diffstat (limited to 'src/hard_link_stack.c')
-rw-r--r-- | src/hard_link_stack.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/hard_link_stack.c b/src/hard_link_stack.c index 547d259..b7df7ed 100644 --- a/src/hard_link_stack.c +++ b/src/hard_link_stack.c @@ -60,6 +60,36 @@ errout: free(this); } + + +int rename_hardlink_path(char *old, char *neu){ + char *newname; + char *endname; + int size = strlen(old); + + head.pointer = head.begin; + while (head.pointer) { + if (! strcmp(old,head.pointer->name)){ + newname=malloc(strlen(neu) + strlen(head.pointer->name) - size +1); + if (! newname) + return 1; + strcpy(newname,neu); + endname = head.pointer->name + size; + strcat(newname,endname); + free(head.pointer->name); + head.pointer->name = newname; +//#ifdef DEBUG + fprintf(stderr,"HL-DB change %s -> %s\n",old,neu); +//#endif + + } + head.pointer = head.pointer->next; + } +} + + + + char* check_link_stack(ext2_ino_t inode_nr, __u32 generation){ @@ -69,6 +99,7 @@ char* check_link_stack(ext2_ino_t inode_nr, __u32 generation){ break; head.pointer = head.pointer->next; } + #ifdef DEBUG if (head.pointer) printf("HARD_LINK found -> %s\n",head.pointer->name); |