aboutsummaryrefslogtreecommitdiff
path: root/libbb/progress.c
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2018-03-01 15:37:12 +0000
committerRon Yorston <rmy@pobox.com>2018-03-01 15:37:12 +0000
commit5b726f8a78c33e117c2a968739b1b4a6964905f8 (patch)
treeaf063c6bf3e99b7480c2fad2dffc2a76c09cb5e0 /libbb/progress.c
parent5f8dac68690e92f0be220f8f8d9f797a2aedc806 (diff)
parentcc222747ae7e264cbe9b1c8a9c253860275db8a9 (diff)
downloadbusybox-w32-5b726f8a78c33e117c2a968739b1b4a6964905f8.tar.gz
busybox-w32-5b726f8a78c33e117c2a968739b1b4a6964905f8.tar.bz2
busybox-w32-5b726f8a78c33e117c2a968739b1b4a6964905f8.zip
Merge branch 'busybox' into merge
Diffstat (limited to 'libbb/progress.c')
-rw-r--r--libbb/progress.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/libbb/progress.c b/libbb/progress.c
index f1d980d68..23e974ce7 100644
--- a/libbb/progress.c
+++ b/libbb/progress.c
@@ -57,6 +57,9 @@ void FAST_FUNC bb_progress_init(bb_progress_t *p, const char *curfile)
57 p->last_update_sec = p->start_sec; 57 p->last_update_sec = p->start_sec;
58 p->last_change_sec = p->start_sec; 58 p->last_change_sec = p->start_sec;
59 p->last_size = 0; 59 p->last_size = 0;
60#if 0
61 p->last_eta = INT_MAX;
62#endif
60} 63}
61 64
62/* File already had beg_size bytes. 65/* File already had beg_size bytes.
@@ -192,6 +195,16 @@ void FAST_FUNC bb_progress_update(bb_progress_t *p,
192 /* if 32bit, can overflow ^^^^^^^^^^, but this would only show bad ETA */ 195 /* if 32bit, can overflow ^^^^^^^^^^, but this would only show bad ETA */
193 if (eta >= 1000*60*60) 196 if (eta >= 1000*60*60)
194 eta = 1000*60*60 - 1; 197 eta = 1000*60*60 - 1;
198#if 0
199 /* To prevent annoying "back-and-forth" estimation jitter,
200 * if new ETA is larger than the last just by a few seconds,
201 * disregard it, and show last one. The end result is that
202 * ETA usually only decreases, unless download slows down a lot.
203 */
204 if ((unsigned)(eta - p->last_eta) < 10)
205 eta = p->last_eta;
206 p->last_eta = eta;
207#endif
195 secs = eta % 3600; 208 secs = eta % 3600;
196 hours = eta / 3600; 209 hours = eta / 3600;
197 fprintf(stderr, "%3u:%02u:%02u ETA", hours, secs / 60, secs % 60); 210 fprintf(stderr, "%3u:%02u:%02u ETA", hours, secs / 60, secs % 60);