summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys-utils/lsmem.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/sys-utils/lsmem.c b/sys-utils/lsmem.c
index 19a727465..3e06e43be 100644
--- a/sys-utils/lsmem.c
+++ b/sys-utils/lsmem.c
@@ -323,12 +323,19 @@ static void print_summary(struct lsmem *lsmem)
printf("%-23s %15"PRId64"\n",_("Total online memory:"), lsmem->mem_online);
printf("%-23s %15"PRId64"\n",_("Total offline memory:"), lsmem->mem_offline);
} else {
- printf("%-23s %5s\n",_("Memory block size:"),
- size_to_human_string(SIZE_SUFFIX_1LETTER, lsmem->block_size));
- printf("%-23s %5s\n",_("Total online memory:"),
- size_to_human_string(SIZE_SUFFIX_1LETTER, lsmem->mem_online));
- printf("%-23s %5s\n",_("Total offline memory:"),
- size_to_human_string(SIZE_SUFFIX_1LETTER, lsmem->mem_offline));
+ char *p;
+
+ if ((p = size_to_human_string(SIZE_SUFFIX_1LETTER, lsmem->block_size)))
+ printf("%-23s %5s\n",_("Memory block size:"), p);
+ free(p);
+
+ if ((p = size_to_human_string(SIZE_SUFFIX_1LETTER, lsmem->mem_online)))
+ printf("%-23s %5s\n",_("Total online memory:"), p);
+ free(p);
+
+ if ((p = size_to_human_string(SIZE_SUFFIX_1LETTER, lsmem->mem_offline)))
+ printf("%-23s %5s\n",_("Total offline memory:"), p);
+ free(p);
}
}