mirror of
https://github.com/sheumann/hush.git
synced 2024-11-05 21:04:56 +00:00
progress meter: display >999 hours ETA correctly
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
f836f01cc3
commit
838d4bb0cd
@ -156,7 +156,7 @@ void FAST_FUNC bb_progress_update(bb_progress_t *p,
|
|||||||
kiloscale++;
|
kiloscale++;
|
||||||
}
|
}
|
||||||
/* see http://en.wikipedia.org/wiki/Tera */
|
/* 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()
|
#define beg_and_transferred dont_use_beg_and_transferred_below()
|
||||||
|
|
||||||
if (transferred != p->lastsize) {
|
if (transferred != p->lastsize) {
|
||||||
@ -175,7 +175,7 @@ void FAST_FUNC bb_progress_update(bb_progress_t *p,
|
|||||||
if (since_last_update >= STALLTIME) {
|
if (since_last_update >= STALLTIME) {
|
||||||
fprintf(stderr, " - stalled -");
|
fprintf(stderr, " - stalled -");
|
||||||
} else if (!totalsize || !transferred || (int)elapsed <= 0) {
|
} else if (!totalsize || !transferred || (int)elapsed <= 0) {
|
||||||
fprintf(stderr, "--:--:-- ETA");
|
fprintf(stderr, " --:--:-- ETA");
|
||||||
} else {
|
} else {
|
||||||
unsigned eta, secs, hours;
|
unsigned eta, secs, hours;
|
||||||
|
|
||||||
@ -188,8 +188,10 @@ void FAST_FUNC bb_progress_update(bb_progress_t *p,
|
|||||||
* totalsize * elapsed / transferred - elapsed
|
* totalsize * elapsed / transferred - elapsed
|
||||||
*/
|
*/
|
||||||
eta = totalsize * elapsed / transferred - elapsed;
|
eta = totalsize * elapsed / transferred - elapsed;
|
||||||
|
if (eta >= 1000*60*60)
|
||||||
|
eta = 1000*60*60 - 1;
|
||||||
secs = eta % 3600;
|
secs = eta % 3600;
|
||||||
hours = 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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user