diff options
author | Darren Tucker <dtucker@zip.com.au> | 2003-12-09 19:07:13 +1100 |
---|---|---|
committer | Darren Tucker <dtucker@zip.com.au> | 2003-12-09 19:07:13 +1100 |
commit | 1fb0425359f7753d0163c5dce6a3335359da8c5a (patch) | |
tree | dcec18cf3a09d54b0707269c276e2b0ae7dcf339 /progressmeter.c | |
parent | 37afa9d9a463a45b0d8ac62c577deac95bc79c2b (diff) | |
download | openssh-git-1fb0425359f7753d0163c5dce6a3335359da8c5a.tar.gz |
- markus@cvs.openbsd.org 2003/12/02 12:15:10
[progressmeter.c]
improvments from andreas@:
* saner speed estimate for transfers that takes less than a second by
rounding the time to 1 second.
* when the transfer is finished calculate the actual total speed
rather than the current speed which is given during the transfer
Diffstat (limited to 'progressmeter.c')
-rw-r--r-- | progressmeter.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/progressmeter.c b/progressmeter.c index 39940bd9..7b76c959 100644 --- a/progressmeter.c +++ b/progressmeter.c @@ -23,7 +23,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: progressmeter.c,v 1.17 2003/11/20 11:39:28 markus Exp $"); +RCSID("$OpenBSD: progressmeter.c,v 1.18 2003/12/02 12:15:10 markus Exp $"); #include "progressmeter.h" #include "atomicio.h" @@ -120,14 +120,18 @@ refresh_progress_meter(void) if (bytes_left > 0) elapsed = now - last_update; - else + else { elapsed = now - start; + /* Calculate true total speed when done */ + transferred = end_pos; + bytes_per_second = 0; + } /* calculate speed */ if (elapsed != 0) cur_speed = (transferred / elapsed); else - cur_speed = 0; + cur_speed = transferred; #define AGE_FACTOR 0.9 if (bytes_per_second != 0) { |