From d3d6534b2a86bdd651aa39dfabe620fe2208459f Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 23 Oct 2015 02:01:38 +0200 Subject: 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 --- libbb/progress.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'libbb/progress.c') diff --git a/libbb/progress.c b/libbb/progress.c index 6154dca17..3c2f01667 100644 --- a/libbb/progress.c +++ b/libbb/progress.c @@ -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); } -- cgit v1.2.3