diff options
author | Dan McGee <dan@archlinux.org> | 2011-06-14 15:29:39 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-06-14 15:29:39 +0200 |
commit | fbb44a6e0d5d3c386420dded0442f4771dbaea7c (patch) | |
tree | e704eb9c6debe0cf600f2a8f65cd50b8ddce9e14 /src | |
parent | 00a1b1deeb390d99c99d942ef4d8bfe1a943b02a (diff) | |
parent | 07e97a5f2c1e1039f35a7893d2be6abf07af690a (diff) | |
download | pacman-fbb44a6e0d5d3c386420dded0442f4771dbaea7c.tar.gz pacman-fbb44a6e0d5d3c386420dded0442f4771dbaea7c.tar.xz |
Merge branch 'maint'
Conflicts:
doc/makepkg.conf.5.txt
Diffstat (limited to 'src')
-rw-r--r-- | src/pacman/util.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/pacman/util.c b/src/pacman/util.c index 3b4d0294..27b18601 100644 --- a/src/pacman/util.c +++ b/src/pacman/util.c @@ -232,8 +232,9 @@ void indentprint(const char *str, int indent) return; } - /* if we're not a tty, print without indenting */ - if(cols == 0) { + /* if we're not a tty, or our tty is not wide enough that wrapping even makes + * sense, print without indenting */ + if(cols == 0 || indent > cols) { printf("%s", str); return; } @@ -577,12 +578,16 @@ void list_display(const char *title, const alpm_list_t *list) if(!list) { printf("%s\n", _("None")); } else { - int cols; - const int maxcols = getcols(80); - for(i = list, cols = len; i; i = alpm_list_next(i)) { - char *str = alpm_list_getdata(i); + const int maxcols = getcols(0); + int cols = len; + const char *str = alpm_list_getdata(list); + printf("%s", str); + cols += string_length(str); + for(i = alpm_list_next(list), cols = len; i; i = alpm_list_next(i)) { + const char *str = alpm_list_getdata(i); int s = string_length(str); - if(cols + s + 2 >= maxcols) { + /* wrap only if we have enough usable column space */ + if(maxcols > len && cols + s + 2 >= maxcols) { int j; cols = len; printf("\n"); |