X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/e7c67065c060d500eba8d073da9568db2c658aad..ecc7623e7faf75f6ba3dd7b5a416c52e2346ac7d:/receiver.c diff --git a/receiver.c b/receiver.c index 26be6f55..94b6fb40 100644 --- a/receiver.c +++ b/receiver.c @@ -24,12 +24,11 @@ extern int verbose; extern int do_xfers; -extern int am_daemon; extern int am_server; extern int do_progress; extern int log_before_transfer; extern int log_format_has_i; -extern int daemon_log_format_has_i; +extern int logfile_format_has_i; extern int csum_length; extern int read_batch; extern int write_batch; @@ -343,8 +342,7 @@ int recv_files(int f_in, struct file_list *flist, char *local_name) struct file_struct *file; struct stats initial_stats; int save_make_backups = make_backups; - int itemizing = am_daemon ? daemon_log_format_has_i - : !am_server && log_format_has_i; + int itemizing = am_server ? logfile_format_has_i : log_format_has_i; int max_phase = protocol_version >= 29 ? 2 : 1; int i, recv_ok; @@ -617,9 +615,14 @@ int recv_files(int f_in, struct file_list *flist, char *local_name) } if ((recv_ok && (!delay_updates || !partialptr)) || inplace) { - if (partialptr == fname || *partial_dir == '/') - partialptr = NULL; - finish_transfer(fname, fnametmp, partialptr, + char *temp_copy_name; + if (partialptr == fname) + partialptr = temp_copy_name = NULL; + else if (*partial_dir == '/') + temp_copy_name = NULL; + else + temp_copy_name = partialptr; + finish_transfer(fname, fnametmp, temp_copy_name, file, recv_ok, 1); if (fnamecmp == partialptr) { do_unlink(partialptr);