diff options
author | Wayne Davison <wayned@samba.org> | 2005-03-05 17:49:46 +0000 |
---|---|---|
committer | Wayne Davison <wayned@samba.org> | 2005-03-05 17:49:46 +0000 |
commit | 56efa5647422b364aa644f557f9d9ebc2b198e97 (patch) | |
tree | 4d5448d5641925de15814cd3661e63a057830bd0 /progress.c | |
parent | ed7e79553edc2e65348019854b0fe52b73427daa (diff) | |
download | rsync-56efa5647422b364aa644f557f9d9ebc2b198e97.tar.gz rsync-56efa5647422b364aa644f557f9d9ebc2b198e97.tar.bz2 rsync-56efa5647422b364aa644f557f9d9ebc2b198e97.zip |
Fixed the elapsed time reported for 0-length files.
Diffstat (limited to 'progress.c')
-rw-r--r-- | progress.c | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -67,17 +67,18 @@ static void rprint_progress(OFF_T ofs, OFF_T size, struct timeval *now, if (is_last) { /* Compute stats based on the starting info. */ - diff = msdiff(&ph_start.time, now); - if (!diff) + if (!ph_start.time.tv_sec + || !(diff = msdiff(&ph_start.time, now))) diff = 1; rate = (double) (ofs - ph_start.ofs) * 1000.0 / diff / 1024.0; /* Switch to total time taken for our last update. */ remain = (double) diff / 1000.0; } else { /* Compute stats based on recent progress. */ - diff = msdiff(&ph_list[oldest_hpos].time, now); - rate = diff ? (double) (ofs - ph_list[oldest_hpos].ofs) * 1000.0 - / diff / 1024.0 : 0; + if (!(diff = msdiff(&ph_list[oldest_hpos].time, now))) + diff = 1; + rate = (double) (ofs - ph_list[oldest_hpos].ofs) * 1000.0 + / diff / 1024.0; remain = rate ? (double) (size - ofs) / rate / 1000.0 : 0.0; } |