From 1fb0425359f7753d0163c5dce6a3335359da8c5a Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 9 Dec 2003 19:07:13 +1100 Subject: - 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 --- progressmeter.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'progressmeter.c') 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) { -- cgit v1.2.3