From 560151d31dfc4d5e7a48624fa9e4696c196cc4a7 Mon Sep 17 00:00:00 2001 From: Christian Goeschel Ndjomouo Date: Sat, 30 Aug 2025 13:09:40 -0400 Subject: [PATCH] lsmem: add support for LSMEM_COLUMNS environmental variable This provides an alternate way to specify output columns similar to the --output option. Addresses: #2816 Signed-off-by: Christian Goeschel Ndjomouo --- sys-utils/lsmem.1.adoc | 5 +++++ sys-utils/lsmem.c | 2 ++ tests/ts/lsmem/lsmem | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sys-utils/lsmem.1.adoc b/sys-utils/lsmem.1.adoc index 337c8b4b75..d588051a81 100644 --- a/sys-utils/lsmem.1.adoc +++ b/sys-utils/lsmem.1.adoc @@ -65,6 +65,11 @@ This option controls summary lines output. The optional argument _when_ can be * include::man-common/help-version.adoc[] +== ENVIRONMENT + +LSMEM_COLUMNS=:: +Specifies a comma-separated list of output columns to print. All columns listed in *--help* can be used. + == AUTHORS *lsmem* was originally written by Gerald Schaefer for s390-tools in Perl. The C version for util-linux was written by Clemens von Mann, Heiko Carstens and Karel Zak. diff --git a/sys-utils/lsmem.c b/sys-utils/lsmem.c index f36e2b1e30..39967bfc96 100644 --- a/sys-utils/lsmem.c +++ b/sys-utils/lsmem.c @@ -691,6 +691,8 @@ int main(int argc, char **argv) add_column(columns, ncolumns++, COL_BLOCK); } + if (!outarg) + outarg = getenv("LSMEM_COLUMNS"); if (outarg && string_add_to_idarray(outarg, columns, ARRAY_SIZE(columns), &ncolumns, column_name_to_id) < 0) return EXIT_FAILURE; diff --git a/tests/ts/lsmem/lsmem b/tests/ts/lsmem/lsmem index 7dce0f2222..8654ae3d80 100755 --- a/tests/ts/lsmem/lsmem +++ b/tests/ts/lsmem/lsmem @@ -24,7 +24,7 @@ ts_check_test_command "$TS_CMD_LSMEM" ts_check_prog "tar" ts_check_prog "bzip2" -LSCOLUMNS="RANGE,SIZE,STATE,REMOVABLE,BLOCK,NODE" +LSCOLUMNS="RANGE,SIZE,STATE,REMOVABLE,BLOCK,NODE,ZONES" function do_lsmem { -- 2.47.3