From: Junio C Hamano Date: Thu, 11 Jul 2019 22:16:49 +0000 (-0700) Subject: Merge branch 'dr/progress-i18n' X-Git-Tag: v2.23.0-rc0~46 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/ff2ea392f9ffc32fdce168b9325d30a27c397684?ds=inline;hp=-c Merge branch 'dr/progress-i18n' Progress messages have been made localizable. * dr/progress-i18n: l10n: localizable upload progress messages --- ff2ea392f9ffc32fdce168b9325d30a27c397684 diff --combined progress.c index 095dcd0ddf,951f7c7461..277db8afa2 --- a/progress.c +++ b/progress.c @@@ -88,6 -88,7 +88,6 @@@ static void display(struct progress *pr const char *tp; struct strbuf *counters_sb = &progress->counters_sb; int show_update = 0; - int last_count_len = counters_sb->len; if (progress->delay && (!progress_update || --progress->delay)) return; @@@ -115,21 -116,26 +115,21 @@@ if (show_update) { if (is_foreground_fd(fileno(stderr)) || done) { const char *eol = done ? done : "\r"; - size_t clear_len = counters_sb->len < last_count_len ? - last_count_len - counters_sb->len + 1 : - 0; - size_t progress_line_len = progress->title_len + - counters_sb->len + 2; - int cols = term_columns(); + term_clear_line(); if (progress->split) { - fprintf(stderr, " %s%*s", counters_sb->buf, - (int) clear_len, eol); - } else if (!done && cols < progress_line_len) { - clear_len = progress->title_len + 1 < cols ? - cols - progress->title_len - 1 : 0; - fprintf(stderr, "%s:%*s\n %s%s", - progress->title, (int) clear_len, "", - counters_sb->buf, eol); + fprintf(stderr, " %s%s", counters_sb->buf, + eol); + } else if (!done && + /* The "+ 2" accounts for the ": ". */ + term_columns() < progress->title_len + + counters_sb->len + 2) { + fprintf(stderr, "%s:\n %s%s", + progress->title, counters_sb->buf, eol); progress->split = 1; } else { - fprintf(stderr, "%s: %s%*s", progress->title, - counters_sb->buf, (int) clear_len, eol); + fprintf(stderr, "%s: %s%s", progress->title, + counters_sb->buf, eol); } fflush(stderr); } @@@ -144,8 -150,7 +144,7 @@@ static void throughput_string(struct st strbuf_addstr(buf, ", "); strbuf_humanise_bytes(buf, total); strbuf_addstr(buf, " | "); - strbuf_humanise_bytes(buf, rate * 1024); - strbuf_addstr(buf, "/s"); + strbuf_humanise_rate(buf, rate * 1024); } void display_throughput(struct progress *progress, uint64_t total)