summaryrefslogtreecommitdiff
path: root/src/pacman
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-06-14 08:29:39 -0500
committerDan McGee <dan@archlinux.org>2011-06-14 08:29:39 -0500
commitfbb44a6e0d5d3c386420dded0442f4771dbaea7c (patch)
treee704eb9c6debe0cf600f2a8f65cd50b8ddce9e14 /src/pacman
parent00a1b1deeb390d99c99d942ef4d8bfe1a943b02a (diff)
parent07e97a5f2c1e1039f35a7893d2be6abf07af690a (diff)
Merge branch 'maint'
Conflicts: doc/makepkg.conf.5.txt
Diffstat (limited to 'src/pacman')
-rw-r--r--src/pacman/util.c19
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");