xbps{,-static}: merge patch for xbps-query(8) output truncation.
This commit is contained in:
parent
541635c675
commit
8da16812f1
3 changed files with 68 additions and 2 deletions
|
@ -3,7 +3,7 @@
|
|||
# NOTE: keep this package synchronized with "srcpkgs/xbps".
|
||||
pkgname=xbps-static
|
||||
version=0.44.1
|
||||
revision=2
|
||||
revision=3
|
||||
build_style=configure
|
||||
short_desc="The XBPS package system utilities - static binaries"
|
||||
maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
From bc97851fdbee84af1eb19a987b9bc08167b8d6f7 Mon Sep 17 00:00:00 2001
|
||||
From: Juan RP <xtraeme@voidlinux.eu>
|
||||
Date: Wed, 15 Apr 2015 18:40:34 +0200
|
||||
Subject: [PATCH] xbps-query(8): do not truncate output if stdout is not a tty.
|
||||
|
||||
---
|
||||
NEWS | 4 ++++
|
||||
bin/xbps-install/util.c | 14 ++++++++++----
|
||||
bin/xbps-query/list.c | 2 +-
|
||||
bin/xbps-query/search.c | 2 +-
|
||||
4 files changed, 16 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/bin/xbps-install/util.c b/bin/xbps-install/util.c
|
||||
index 1ce45d8..3c05738 100644
|
||||
--- bin/xbps-install/util.c
|
||||
+++ bin/xbps-install/util.c
|
||||
@@ -41,10 +41,16 @@ get_maxcols(void)
|
||||
{
|
||||
struct winsize ws;
|
||||
|
||||
- if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) == 0)
|
||||
- return ws.ws_col ? ws.ws_col : 80;
|
||||
-
|
||||
- return 80;
|
||||
+ if (!isatty(STDOUT_FILENO) && errno == ENOTTY) {
|
||||
+ /* not a TTY, don't use any limit */
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) == -1) {
|
||||
+ /* 80x24 terminal */
|
||||
+ return 80;
|
||||
+ }
|
||||
+ /* TTY columns */
|
||||
+ return ws.ws_col;
|
||||
}
|
||||
|
||||
void
|
||||
diff --git a/bin/xbps-query/list.c b/bin/xbps-query/list.c
|
||||
index 45e0f07..542b870 100644
|
||||
--- bin/xbps-query/list.c
|
||||
+++ bin/xbps-query/list.c
|
||||
@@ -72,7 +72,7 @@ list_pkgs_in_dict(struct xbps_handle *xhp _unused,
|
||||
|
||||
tmp[i] = '\0';
|
||||
len = strlen(tmp) + strlen(short_desc) + 2;
|
||||
- if (len > lpc->maxcols) {
|
||||
+ if (lpc->maxcols && len > lpc->maxcols) {
|
||||
out = malloc(lpc->maxcols+1);
|
||||
assert(out);
|
||||
snprintf(out, lpc->maxcols - 3,
|
||||
diff --git a/bin/xbps-query/search.c b/bin/xbps-query/search.c
|
||||
index c41ef5e..c07f84c 100644
|
||||
--- bin/xbps-query/search.c
|
||||
+++ bin/xbps-query/search.c
|
||||
@@ -80,7 +80,7 @@ print_results(struct xbps_handle *xhp, struct search_data *sd)
|
||||
inststr = "[-]";
|
||||
|
||||
len = strlen(inststr) + strlen(tmp) + strlen(desc) + 3;
|
||||
- if ((int)len > sd->maxcols) {
|
||||
+ if (sd->maxcols && (int)len > sd->maxcols) {
|
||||
out = malloc(sd->maxcols+1);
|
||||
assert(out);
|
||||
snprintf(out, sd->maxcols-3, "%s %s %s",
|
||||
--
|
||||
2.3.5
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'xbps'
|
||||
pkgname=xbps
|
||||
version=0.44.1
|
||||
revision=2
|
||||
revision=3
|
||||
bootstrap=yes
|
||||
build_style=configure
|
||||
short_desc="The XBPS package system utilities"
|
||||
|
|
Loading…
Reference in a new issue