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) |
- 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 39940bd9a..7b76c959e 100644 --- a/progressmeter.c +++ b/progressmeter.c | |||
@@ -23,7 +23,7 @@ | |||
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include "includes.h" | 25 | #include "includes.h" |
26 | RCSID("$OpenBSD: progressmeter.c,v 1.17 2003/11/20 11:39:28 markus Exp $"); | 26 | RCSID("$OpenBSD: progressmeter.c,v 1.18 2003/12/02 12:15:10 markus Exp $"); |
27 | 27 | ||
28 | #include "progressmeter.h" | 28 | #include "progressmeter.h" |
29 | #include "atomicio.h" | 29 | #include "atomicio.h" |
@@ -120,14 +120,18 @@ refresh_progress_meter(void) | |||
120 | 120 | ||
121 | if (bytes_left > 0) | 121 | if (bytes_left > 0) |
122 | elapsed = now - last_update; | 122 | elapsed = now - last_update; |
123 | else | 123 | else { |
124 | elapsed = now - start; | 124 | elapsed = now - start; |
125 | /* Calculate true total speed when done */ | ||
126 | transferred = end_pos; | ||
127 | bytes_per_second = 0; | ||
128 | } | ||
125 | 129 | ||
126 | /* calculate speed */ | 130 | /* calculate speed */ |
127 | if (elapsed != 0) | 131 | if (elapsed != 0) |
128 | cur_speed = (transferred / elapsed); | 132 | cur_speed = (transferred / elapsed); |
129 | else | 133 | else |
130 | cur_speed = 0; | 134 | cur_speed = transferred; |
131 | 135 | ||
132 | #define AGE_FACTOR 0.9 | 136 | #define AGE_FACTOR 0.9 |
133 | if (bytes_per_second != 0) { | 137 | if (bytes_per_second != 0) { |