summaryrefslogtreecommitdiff
path: root/src/hard_link_stack.c
diff options
context:
space:
mode:
authorrobi <robi>2010-08-22 19:09:46 +0000
committerrobi <robi>2010-08-22 19:09:46 +0000
commite66d5f9b85fd816571fe4a780f05fc0ad0b8256f (patch)
tree73c4c5a2fa73417bde86f777ba4dd0903f3947ac /src/hard_link_stack.c
parent8f27364faf5c58eebce6616be246afaeff734a14 (diff)
magic functions Part1 (inactive)
Diffstat (limited to 'src/hard_link_stack.c')
-rw-r--r--src/hard_link_stack.c31
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);