X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/f2179fd37063a37bea9b9b259c412a8d10a8fa62..da1319128ac3e8d563a6959e82e471e8f5544a83:/main.c diff --git a/main.c b/main.c index efcd0603..d8d34804 100644 --- a/main.c +++ b/main.c @@ -71,7 +71,7 @@ extern char *shell_cmd; extern char *batch_name; extern char *password_file; extern char curr_dir[MAXPATHLEN]; -extern struct file_list *cur_flist; +extern struct file_list *first_flist; extern struct filter_list_struct server_filter_list; int local_server = 0; @@ -721,7 +721,7 @@ static int do_recv(int f_in, int f_out, char *local_name) #ifdef SUPPORT_HARD_LINKS if (preserve_hard_links && !inc_recurse) - match_hard_links(cur_flist); + match_hard_links(first_flist); #endif if (fd_pair(error_pipe) < 0) { @@ -796,6 +796,14 @@ static int do_recv(int f_in, int f_out, char *local_name) set_msg_fd_in(error_pipe[0]); io_start_buffering_in(error_pipe[0]); +#ifdef SUPPORT_HARD_LINKS + if (preserve_hard_links && inc_recurse) { + struct file_list *flist; + for (flist = first_flist; flist; flist = flist->next) + match_hard_links(flist); + } +#endif + generate_files(f_out, local_name); handle_stats(-1);