X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/5d2a70713930e6c60788c728c8c6ae32f280ad84..7cf8e8d05da57806a784d8d26932731fd5b9d195:/backup.c diff --git a/backup.c b/backup.c index 3f5c416e..248ae90a 100644 --- a/backup.c +++ b/backup.c @@ -25,6 +25,7 @@ extern int backup_suffix_len; extern int backup_dir_len; extern char *backup_suffix; extern char *backup_dir; +extern struct file_struct **hlink_list; extern int am_root; extern int preserve_devices; @@ -188,6 +189,7 @@ static int keep_backup(char *fname) backup_dir[--backup_dir_len] = '\0'; if (verbose > 0) rprintf(FINFO, "backup_dir is %s\n", backup_dir); + initialised = 1; } @@ -263,7 +265,7 @@ static int keep_backup(char *fname) } #endif if (!kept && preserve_hard_links && file->link_u.links - && file->F_HEAD != file) { + && hlink_list[file->F_HLINDEX] != file) { if (verbose > 1) rprintf(FINFO, "%s is a hard link\n", f_name(file)); } @@ -281,7 +283,6 @@ static int keep_backup(char *fname) } } set_perms(keep_name, file, NULL, 0); - free_file(file); free(file); if (verbose > 1)