text_percent_internal: only pad right in the text case

Padding in the percentage case was useless (and actually didn't work
properly) since all the real estate is taken up by the text and the bar.
We only need padding in the text case, in case the new string is
shorter.
This commit is contained in:
Jonathan Lebon
2016-05-10 11:59:17 -04:00
parent 3d162e772d
commit 40ef5f7400

View File

@@ -221,20 +221,22 @@ text_percent_internal (const char *text,
if (percentage == -1)
{
const guint spacelen = ncolumns - input_textlen;
fwrite (text, 1, input_textlen, stdout);
printpad (spaces, n_spaces, spacelen);
}
else
{
const guint textlen = MIN (input_textlen, ncolumns - bar_min);
const guint barlen = ncolumns - (textlen + 1);;
if (textlen > 0)
{
fwrite (text, 1, textlen, stdout);
fputc (' ', stdout);
}
{
{
const guint nbraces = 2;
const guint textpercent_len = 5;
const guint bar_internal_len = barlen - nbraces - textpercent_len;
@@ -247,10 +249,6 @@ text_percent_internal (const char *text,
fputc (']', stdout);
fprintf (stdout, " %3d%%", percentage);
}
{ const guint spacelen = ncolumns - textlen - barlen;
printpad (spaces, n_spaces, spacelen);
}
}
fflush (stdout);