summaryrefslogtreecommitdiffstats
path: root/crypto/openssh/progressmeter.c
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2004-02-26 10:38:49 +0000
committerdes <des@FreeBSD.org>2004-02-26 10:38:49 +0000
commit1754c77e5e8ce4ec5f746dc5ce34e4cb54e3130f (patch)
tree25dabb08403c4be38428cdca76ca59693de21f0d /crypto/openssh/progressmeter.c
parentb1ffd1f6aca7848a55feed93aea52065a855e41c (diff)
parent7d1750f1d6c24163bf22790f8527f1783315c5e7 (diff)
downloadFreeBSD-src-1754c77e5e8ce4ec5f746dc5ce34e4cb54e3130f.zip
FreeBSD-src-1754c77e5e8ce4ec5f746dc5ce34e4cb54e3130f.tar.gz
This commit was generated by cvs2svn to compensate for changes in r126274,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'crypto/openssh/progressmeter.c')
-rw-r--r--crypto/openssh/progressmeter.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/crypto/openssh/progressmeter.c b/crypto/openssh/progressmeter.c
index 6afcca4..f426685 100644
--- a/crypto/openssh/progressmeter.c
+++ b/crypto/openssh/progressmeter.c
@@ -23,7 +23,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: progressmeter.c,v 1.15 2003/08/31 12:14:22 markus Exp $");
+RCSID("$OpenBSD: progressmeter.c,v 1.19 2004/02/05 15:33:33 markus Exp $");
#include "progressmeter.h"
#include "atomicio.h"
@@ -80,7 +80,7 @@ format_rate(char *buf, int size, off_t bytes)
bytes = (bytes + 512) / 1024;
}
snprintf(buf, size, "%3lld.%1lld%c%s",
- (int64_t) bytes / 100,
+ (int64_t) (bytes + 5) / 100,
(int64_t) (bytes + 5) / 10 % 10,
unit[i],
i ? "B" : " ");
@@ -107,7 +107,7 @@ refresh_progress_meter(void)
off_t transferred;
double elapsed;
int percent;
- int bytes_left;
+ off_t bytes_left;
int cur_speed;
int hours, minutes, seconds;
int i, len;
@@ -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) {
OpenPOWER on IntegriCloud