git: 307625842b02 - main - w: don't truncate if we're writing libxo json/xml
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 07 Oct 2022 16:21:57 UTC
The branch main has been updated by kp:
URL: https://cgit.FreeBSD.org/src/commit/?id=307625842b02ee4c898751dbeaa16eb370bbb7f7
commit 307625842b02ee4c898751dbeaa16eb370bbb7f7
Author: Kristof Provost <kp@FreeBSD.org>
AuthorDate: 2022-10-07 16:14:02 +0000
Commit: Kristof Provost <kp@FreeBSD.org>
CommitDate: 2022-10-07 16:21:27 +0000
w: don't truncate if we're writing libxo json/xml
If we're writing structured output (i.e. json or xml) we shouldn't worry
about terminal width, and instead always output full width information.
This means that, for example, if we're called from crontab with 'w
--libxo json' we'll provide full the command field rather than
pointlessly truncating it.
Suggested by: Phil Shafer
Event: Aberdeen Hackathon 2022
Differential Revision: https://reviews.freebsd.org/D25013
---
usr.bin/w/w.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/usr.bin/w/w.c b/usr.bin/w/w.c
index 916a77920160..42874242c5ba 100644
--- a/usr.bin/w/w.c
+++ b/usr.bin/w/w.c
@@ -390,6 +390,9 @@ main(int argc, char *argv[])
argwidth = ttywidth - WUSED;
if (argwidth < 4)
argwidth = 8;
+ /* Don't truncate if we're outputting json or XML. */
+ if (xo_get_style(NULL) != XO_STYLE_TEXT)
+ argwidth = ARG_MAX;
for (ep = ehead; ep != NULL; ep = ep->next) {
if (ep->kp == NULL) {
ep->args = strdup("-");