Hi,

This patch corrects a discrepancy with coreutils ls. The "total" line
at the top should be in human units if -h is passed.

- Lauri
>From 8fba73e1d5a470dc885f32daa225e98525c8dd21 Mon Sep 17 00:00:00 2001
From: Lauri Kasanen <[email protected]>
Date: Wed, 1 Aug 2018 19:51:17 +0300
Subject: [PATCH] ls: When -h is passed, the total should also be in human
 units

Signed-off-by: Lauri Kasanen <[email protected]>
---
 coreutils/ls.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/coreutils/ls.c b/coreutils/ls.c
index 4be4990..b1c3068 100644
--- a/coreutils/ls.c
+++ b/coreutils/ls.c
@@ -1016,7 +1016,15 @@ static void scan_and_display_dirs_recur(struct dnode 
**dn, int first)
                subdnp = scan_one_dir((*dn)->fullname, &nfiles);
 #if ENABLE_DESKTOP
                if (option_mask32 & (OPT_s|OPT_l)) {
-                       printf("total %"OFF_FMT"u\n", calculate_blocks(subdnp));
+                       if (option_mask32 & OPT_h) {
+                               printf("total 
%-"HUMAN_READABLE_MAX_WIDTH_STR"s\n",
+                                       /* print size, no fractions, use 
suffixes */
+                                       
make_human_readable_str(calculate_blocks(subdnp) * 1024,
+                                                               0, 0)
+                               );
+                       } else {
+                               printf("total %"OFF_FMT"u\n", 
calculate_blocks(subdnp));
+                       }
                }
 #endif
                if (nfiles > 0) {
-- 
2.6.2

_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to