X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/728d09220143d6aa088cb080eb754af57aa62f3a..d17e1dd2dae6bfd9e2e147a0dd3039848dd43abc:/generator.c diff --git a/generator.c b/generator.c index da532239..b325a3b1 100644 --- a/generator.c +++ b/generator.c @@ -397,7 +397,7 @@ void recv_generator(char *fname, struct file_struct *file, int i, int f_out) } #endif - if (preserve_hard_links && check_hard_link(file)) { + if (preserve_hard_links && file->link_u.links && file->F_HEAD != file) { if (verbose > 1) { rprintf(FINFO, "recv_generator: \"%s\" is a hard link\n", f_name(file)); @@ -522,7 +522,7 @@ void recv_generator(char *fname, struct file_struct *file, int i, int f_out) } -void generate_files(int f,struct file_list *flist,char *local_name,int f_recv) +void generate_files(int f, struct file_list *flist, char *local_name) { int i; int phase=0; @@ -576,7 +576,7 @@ void generate_files(int f,struct file_list *flist,char *local_name,int f_recv) /* files can cycle through the system more than once * to catch initial checksum errors */ - while ((i = read_int(f_recv)) != -1) { + while ((i = get_redo_num()) != -1) { struct file_struct *file = flist->files[i]; recv_generator(local_name? local_name : f_name_to(file,fbuf,sizeof fbuf), file, i, f);