From 1f7b62e0b277a54b2f1e90fafdd11cc37bc74d23 Mon Sep 17 00:00:00 2001 From: Sami Kerola Date: Tue, 24 Apr 2018 21:27:04 +0100 Subject: [PATCH] lsns: add --output-all option Signed-off-by: Sami Kerola --- bash-completion/lsns | 1 + sys-utils/lsns.8 | 3 +++ sys-utils/lsns.c | 9 +++++++++ 3 files changed, 13 insertions(+) diff --git a/bash-completion/lsns b/bash-completion/lsns index 035f43b2a..8964606cb 100644 --- a/bash-completion/lsns +++ b/bash-completion/lsns @@ -40,6 +40,7 @@ _lsns_module() --list --noheadings --output + --output-all --task --raw --notruncate diff --git a/sys-utils/lsns.8 b/sys-utils/lsns.8 index 90009a780..aba372669 100644 --- a/sys-utils/lsns.8 +++ b/sys-utils/lsns.8 @@ -51,6 +51,9 @@ to get a list of all supported columns. The default list of columns may be extended if \fIlist\fP is specified in the format \fB+\fIlist\fP (e.g. \fBlsns \-o +PATH\fP). .TP +.B \-\-output\-all +Output all available columns. +.TP .BR \-p , " \-\-task " \fIpid\fP Display only the namespaces held by the process with this \fIpid\fR. .TP diff --git a/sys-utils/lsns.c b/sys-utils/lsns.c index 7264817a8..3050b505d 100644 --- a/sys-utils/lsns.c +++ b/sys-utils/lsns.c @@ -906,6 +906,7 @@ static void __attribute__((__noreturn__)) usage(void) fputs(_(" -l, --list use list format output\n"), out); fputs(_(" -n, --noheadings don't print headings\n"), out); fputs(_(" -o, --output define which output columns to use\n"), out); + fputs(_(" --output-all output all columns\n"), out); fputs(_(" -p, --task print process namespaces\n"), out); fputs(_(" -r, --raw use the raw output format\n"), out); fputs(_(" -u, --notruncate don't truncate text in columns\n"), out); @@ -931,11 +932,15 @@ int main(int argc, char *argv[]) int c; int r = 0; char *outarg = NULL; + enum { + OPT_OUTPUT_ALL = CHAR_MAX + 1 + }; static const struct option long_opts[] = { { "json", no_argument, NULL, 'J' }, { "task", required_argument, NULL, 'p' }, { "help", no_argument, NULL, 'h' }, { "output", required_argument, NULL, 'o' }, + { "output-all", no_argument, NULL, OPT_OUTPUT_ALL }, { "notruncate", no_argument, NULL, 'u' }, { "version", no_argument, NULL, 'V' }, { "noheadings", no_argument, NULL, 'n' }, @@ -980,6 +985,10 @@ int main(int argc, char *argv[]) case 'o': outarg = optarg; break; + case OPT_OUTPUT_ALL: + for (ncolumns = 0; ncolumns < ARRAY_SIZE(infos); ncolumns++) + columns[ncolumns] = ncolumns; + break; case 'V': printf(UTIL_LINUX_VERSION); return EXIT_SUCCESS;