From: Denys Vlasenko Date: Thu, 10 Feb 2011 22:35:52 +0000 (+0100) Subject: progress meter: display >999 hours ETA correctly X-Git-Tag: 1_19_0~316 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=838d4bb0cd0805e1671073627d86baf100af021b;p=oweals%2Fbusybox.git progress meter: display >999 hours ETA correctly Signed-off-by: Denys Vlasenko --- diff --git a/libbb/progress.c b/libbb/progress.c index a490b8390..3999e0f38 100644 --- a/libbb/progress.c +++ b/libbb/progress.c @@ -156,7 +156,7 @@ void FAST_FUNC bb_progress_update(bb_progress_t *p, kiloscale++; } /* see http://en.wikipedia.org/wiki/Tera */ - fprintf(stderr, "%6u%c ", (unsigned)beg_and_transferred, " kMGTPEZY"[kiloscale]); + fprintf(stderr, "%6u%c", (unsigned)beg_and_transferred, " kMGTPEZY"[kiloscale]); #define beg_and_transferred dont_use_beg_and_transferred_below() if (transferred != p->lastsize) { @@ -173,9 +173,9 @@ void FAST_FUNC bb_progress_update(bb_progress_t *p, elapsed -= p->start_sec; /* now it's "elapsed since start" */ if (since_last_update >= STALLTIME) { - fprintf(stderr, " - stalled -"); + fprintf(stderr, " - stalled -"); } else if (!totalsize || !transferred || (int)elapsed <= 0) { - fprintf(stderr, "--:--:-- ETA"); + fprintf(stderr, " --:--:-- ETA"); } else { unsigned eta, secs, hours; @@ -188,8 +188,10 @@ void FAST_FUNC bb_progress_update(bb_progress_t *p, * totalsize * elapsed / transferred - elapsed */ eta = totalsize * elapsed / transferred - elapsed; + if (eta >= 1000*60*60) + eta = 1000*60*60 - 1; secs = eta % 3600; hours = eta / 3600; - fprintf(stderr, "%02u:%02u:%02u ETA", hours, secs / 60, secs % 60); + fprintf(stderr, "%3u:%02u:%02u ETA", hours, secs / 60, secs % 60); } }