X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/a015788d2199115585634f93142a401ae03310df..6cc119828892f4c28fc55274e11055f8c420515c:/sender.c diff --git a/sender.c b/sender.c index 00b60c94..b19ecb54 100644 --- a/sender.c +++ b/sender.c @@ -27,6 +27,7 @@ extern int log_before_transfer; extern int log_format_has_i; extern int daemon_log_format_has_i; extern int csum_length; +extern int append_mode; extern int io_error; extern int allowed_lull; extern int protocol_version; @@ -72,6 +73,13 @@ static struct sum_struct *receive_sums(int f) (double)s->count, (long)s->blength, (long)s->remainder); } + if (append_mode) { + s->flength = (OFF_T)s->count * s->blength; + if (s->remainder) + s->flength -= s->blength - s->remainder; + return s; + } + if (s->count == 0) return(s); @@ -231,6 +239,7 @@ void send_files(struct file_list *flist, int f_out, int f_in) /* For inplace: redo phase turns off the backup * flag so that we do a regular inplace send. */ make_backups = 0; + append_mode = 0; continue; }