was incorrect. It's hard to tell how many bytes are actually read because
transferring the value changes it and depending on its value it may
transfer 4 or 12 bytes so instead change the sender side to not include the
length of the counters it sends at all (it had been including one but three
are sent).
if (am_server) {
if (verbose && am_sender) {
if (am_server) {
if (verbose && am_sender) {
+ int64 w;
+ /* store total_written in a temporary
+ because write_longint changes it */
+ w = stats.total_written;
write_longint(f,stats.total_read);
write_longint(f,stats.total_read);
- write_longint(f,stats.total_written);
write_longint(f,stats.total_size);
}
return;
write_longint(f,stats.total_size);
}
return;
is identical but the bytes read and written are slightly
different. It's done this way to avoid modifying the
protocol to support --stats without -v. */
is identical but the bytes read and written are slightly
different. It's done this way to avoid modifying the
protocol to support --stats without -v. */
stats.total_written = read_longint(f);
stats.total_written = read_longint(f);
- stats.total_read = read_longint(f);
+ /* store total_read in a temporary, read_longint changes it */
+ r = read_longint(f);
stats.total_size = read_longint(f);
stats.total_size = read_longint(f);
-
- /* when the total_read was set above just now it would not
- have included the last two longints, but the last
- read_longint would have compensated for one of them.
- Compensate for the other one too by adding 8. */
- stats.total_read += sizeof(int64);