Remove trailing whitespace on all lines in list_display

This ensures we never have trailing whitespace. Take the following text,
with line numbers added for clarity:

1. Title   : item1 item2 item3 item4
2.           item5 item6 item7 item8
3.           item9 itemA itemB itemC

Laszlo Papp helpfully pointed out we would have two trailing spaces on line
three after the last item. However, we also had these trailing spaces on
lines one and two, which the initial patch didn't take care of. This can be
seen on something like `pacman -Qi glibc`.

Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Dan McGee 2009-12-13 23:12:44 -06:00
parent 926dfe5827
commit e612eb6ba2
1 changed files with 6 additions and 4 deletions

View File

@ -446,18 +446,20 @@ void list_display(const char *title, const alpm_list_t *list)
for(i = list, cols = len; i; i = alpm_list_next(i)) {
char *str = alpm_list_getdata(i);
int s = string_length(str);
/* two additional spaces are added to the length */
s += 2;
int maxcols = getcols();
if(s + cols > maxcols && maxcols > 0) {
if(maxcols > 0 && (cols + s + 2) >= maxcols) {
int j;
cols = len;
printf("\n");
for (j = 1; j <= len; j++) {
printf(" ");
}
} else if (cols != len) {
/* 2 spaces are added if this is not the first element on a line. */
printf(" ");
cols += 2;
}
printf("%s ", str);
printf("%s", str);
cols += s;
}
printf("\n");