diff options
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) { |