X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/5914bf15d2bb62003de56cea1d95f62b5830618a..a800434a82af8dbd59da7c27b382c9897dd90150:/match.c diff --git a/match.c b/match.c index 63445ff8..719961da 100644 --- a/match.c +++ b/match.c @@ -34,13 +34,13 @@ typedef unsigned short tag; static int false_alarms; static int tag_hits; static int matches; -static int data_transfer; +static int64 data_transfer; static int total_false_alarms; static int total_tag_hits; static int total_matches; -static int64 total_data_transfer; +extern struct stats stats; struct target { tag t; @@ -103,11 +103,10 @@ static void matched(int f,struct sum_struct *s,struct map_struct *buf, send_token(f,i,buf,last_match,n,i<0?0:s->sums[i].len); data_transfer += n; - if (n > 0) - write_flush(f); - - if (i >= 0) + if (i >= 0) { + stats.matched_data += s->sums[i].len; n += s->sums[i].len; + } for (j=0;j 2) rprintf(FINFO,"hash search b=%d len=%d\n",s->n,(int)len); @@ -277,7 +275,7 @@ void match_sums(int f,struct sum_struct *s,struct map_struct *buf,OFF_T len) total_tag_hits += tag_hits; total_false_alarms += false_alarms; total_matches += matches; - total_data_transfer += data_transfer; + stats.literal_data += data_transfer; } void match_report(void) @@ -286,7 +284,8 @@ void match_report(void) return; rprintf(FINFO, - "total: matches=%d tag_hits=%d false_alarms=%d data=%ld\n", + "total: matches=%d tag_hits=%d false_alarms=%d data=%.0f\n", total_matches,total_tag_hits, - total_false_alarms,(long)total_data_transfer); + total_false_alarms, + (double)stats.literal_data); }