From ca5aeebdc9fbbf5c74ad73e36ccea0ee6e7fbf7e Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 10 Dec 2012 11:09:18 +0100 Subject: [PATCH] xbps-install: fetch_cb.c: do not print ANSI escape codes if stdout isn't a tty. --- bin/xbps-install/fetch_cb.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/bin/xbps-install/fetch_cb.c b/bin/xbps-install/fetch_cb.c index 4b4d05ac..3497e192 100644 --- a/bin/xbps-install/fetch_cb.c +++ b/bin/xbps-install/fetch_cb.c @@ -144,9 +144,14 @@ stat_display(struct xbps_fetch_cb_data *xfpd, void *cbdata) (double)xfpd->file_dloaded) / (double)xfpd->file_size); (void)xbps_humanize_number(totsize, (int64_t)xfpd->file_size); } - fprintf(stderr, "%s: [%s %d%%] %s ETA: %s\033[K\r", - xfpd->file_name, totsize, percentage, - stat_bps(xfpd, xfer), stat_eta(xfpd, xfer)); + if (isatty(fileno(stdout))) + printf("%s: [%s %d%%] %s ETA: %s\033[K\r", + xfpd->file_name, totsize, percentage, + stat_bps(xfpd, xfer), stat_eta(xfpd, xfer)); + else + printf("%s: [%s %d%%] %s ETA: %s\n", + xfpd->file_name, totsize, percentage, + stat_bps(xfpd, xfer), stat_eta(xfpd, xfer)); } void @@ -165,7 +170,11 @@ fetch_file_progress_cb(struct xbps_fetch_cb_data *xfpd, void *cbdata) } else if (xfpd->cb_end) { /* end transfer stats */ (void)xbps_humanize_number(size, (int64_t)xfpd->file_dloaded); - fprintf(stderr,"%s: %s [avg rate: %s]\033[K\n", - xfpd->file_name, size, stat_bps(xfpd, xfer)); + if (isatty(fileno(stdout))) + printf("%s: %s [avg rate: %s]\033[K\n", + xfpd->file_name, size, stat_bps(xfpd, xfer)); + else + printf("%s: %s [avg rate: %s]\n", + xfpd->file_name, size, stat_bps(xfpd, xfer)); } }