X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/bc63ae3f13e01874e375bb5cc606775889ed5afa..3c30b9905932e39b170be8e0521370727f264635:/receiver.c diff --git a/receiver.c b/receiver.c index 27c0da36..3e248800 100644 --- a/receiver.c +++ b/receiver.c @@ -35,6 +35,7 @@ extern int io_error; extern char *tmpdir; extern char *compare_dest; extern int make_backups; +extern int do_progress; extern char *backup_suffix; static struct delete_list { @@ -230,7 +231,8 @@ static int receive_data(int f_in,struct map_struct *buf,int fd,char *fname, OFF_T total_size) { int i; - unsigned int n,remainder,len,count; + struct sum_struct sum; + unsigned int len; OFF_T offset = 0; OFF_T offset2; char *data; @@ -238,15 +240,13 @@ static int receive_data(int f_in,struct map_struct *buf,int fd,char *fname, static char file_sum2[MD4_SUM_LENGTH]; char *map=NULL; - count = read_int(f_in); - n = read_int(f_in); - remainder = read_int(f_in); + read_sum_head(f_in, &sum); sum_init(); for (i=recv_token(f_in,&data); i != 0; i=recv_token(f_in,&data)) { - - show_progress(offset, total_size); + if (do_progress) + show_progress(offset, total_size); if (i > 0) { extern int cleanup_got_literal; @@ -270,10 +270,10 @@ static int receive_data(int f_in,struct map_struct *buf,int fd,char *fname, } i = -(i+1); - offset2 = i*(OFF_T)n; - len = n; - if (i == (int) count-1 && remainder != 0) - len = remainder; + offset2 = i*(OFF_T)sum.blength; + len = sum.blength; + if (i == (int) sum.count-1 && sum.remainder != 0) + len = sum.remainder; stats.matched_data += len; @@ -296,7 +296,8 @@ static int receive_data(int f_in,struct map_struct *buf,int fd,char *fname, offset += len; } - end_progress(total_size); + if (do_progress) + end_progress(total_size); if (fd != -1 && offset > 0 && sparse_end(fd) != 0) { rprintf(FERROR,"write failed on %s : %s\n",