From 1fb0425359f7753d0163c5dce6a3335359da8c5a Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 9 Dec 2003 19:07:13 +1100 Subject: [PATCH] - 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 --- ChangeLog | 9 ++++++++- progressmeter.c | 10 +++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 545e5c382..648a8231a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,13 @@ [cipher-aes.c] fix #ifdef before #define; ok markus@ (RCS ID sync only, Portable already had this) + - 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 20031208 - (tim) [configure.ac] Bug 770. Fix --without-rpath. @@ -1545,4 +1552,4 @@ - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. Report from murple@murple.net, diagnosis from dtucker@zip.com.au -$Id: ChangeLog,v 1.3133 2003/12/09 08:05:42 dtucker Exp $ +$Id: ChangeLog,v 1.3134 2003/12/09 08:07:13 dtucker Exp $ diff --git a/progressmeter.c b/progressmeter.c index 39940bd9a..7b76c959e 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) {