wget: if stderr is not a tty, progress bar shouldn't use tty-tricks

function                                             old     new   delta
bb_progress_update                                   706     768     +62

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2015-10-23 02:01:38 +02:00
parent 641caaec3d
commit d3d6534b2a

View File

@ -73,7 +73,7 @@ void FAST_FUNC bb_progress_update(bb_progress_t *p,
{
uoff_t beg_and_transferred;
unsigned since_last_update, elapsed;
int barlength;
int notty;
int kiloscale;
//transferred = 1234; /* use for stall detection testing */
@ -130,14 +130,17 @@ void FAST_FUNC bb_progress_update(bb_progress_t *p,
}
}
notty = !isatty(STDERR_FILENO);
if (ENABLE_UNICODE_SUPPORT)
fprintf(stderr, "\r%s", p->curfile);
fprintf(stderr, "\r%s" + notty, p->curfile);
else
fprintf(stderr, "\r%-20.20s", p->curfile);
fprintf(stderr, "\r%-20.20s" + notty, p->curfile);
beg_and_transferred = beg_size + transferred;
if (totalsize != 0) {
int barlength;
unsigned ratio = 100 * beg_and_transferred / totalsize;
fprintf(stderr, "%4u%%", ratio);
@ -197,4 +200,6 @@ void FAST_FUNC bb_progress_update(bb_progress_t *p,
hours = eta / 3600;
fprintf(stderr, "%3u:%02u:%02u ETA", hours, secs / 60, secs % 60);
}
if (notty)
fputc('\n', stderr);
}