summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys-utils/lsmem.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sys-utils/lsmem.c b/sys-utils/lsmem.c
index 3ac1fd3be..8ffd40975 100644
--- a/sys-utils/lsmem.c
+++ b/sys-utils/lsmem.c
@@ -493,6 +493,17 @@ int main(int argc, char **argv)
if (argc != optind)
lsmem_usage(stderr);
+ if (lsmem->want_table + lsmem->want_summary == 0)
+ errx(EXIT_FAILURE, _("options --{raw,json,pairs} and --summary=only are mutually exclusive"));
+
+ /* Shortcut to avoid scols machinery on --summary=only */
+ if (lsmem->want_table == 0 && lsmem->want_summary) {
+ read_basic_info(lsmem);
+ read_info(lsmem);
+ print_summary(lsmem);
+ return EXIT_SUCCESS;
+ }
+
/*
* Default columns
*/