From 48c172ba589cfd848624b51f6f748b56bc217775 Mon Sep 17 00:00:00 2001
From: Rob Landley <rob@landley.net>
Date: Tue, 6 May 2014 06:31:28 -0500
Subject: Switch human_readable() to just outputing decimal
 kilo/mega/gigabytes, make du use it, move it from lib/pending.c to lib.c.

---
 toys/pending/dd.c |  6 ++++--
 toys/posix/du.c   | 12 ++----------
 2 files changed, 6 insertions(+), 12 deletions(-)

(limited to 'toys')

diff --git a/toys/pending/dd.c b/toys/pending/dd.c
index 2c3ca654..a5c2452e 100644
--- a/toys/pending/dd.c
+++ b/toys/pending/dd.c
@@ -133,8 +133,10 @@ static void summary()
   //out to STDERR
   fprintf(stderr,"%llu+%llu records in\n%llu+%llu records out\n", st.in_full, st.in_part,
       st.out_full, st.out_part);
-  fprintf(stderr, "%llu bytes (%sB) copied,",st.bytes, human_readable(st.bytes));
-  fprintf(stderr, "%f seconds, %sB/s\n", seconds, human_readable(st.bytes/seconds));
+  human_readable(toybuf, st.bytes);
+  fprintf(stderr, "%llu bytes (%s) copied,",st.bytes, toybuf);
+  human_readable(toybuf, st.bytes/seconds);
+  fprintf(stderr, "%f seconds, %s/s\n", seconds, toybuf);
 }
 
 static void sig_handler(int sig)
diff --git a/toys/posix/du.c b/toys/posix/du.c
index 96922bca..2bfa7e41 100644
--- a/toys/posix/du.c
+++ b/toys/posix/du.c
@@ -55,16 +55,8 @@ static void print(long long size, struct dirtree *node)
   if (TT.maxdepth && TT.depth > TT.maxdepth) return;
 
   if (toys.optflags & FLAG_h) {
-    char buf[32];
-    int index, sz;
-
-    for (index = 0; 1024 < size>>(10*index); index++);
-    sz = size>>(10*index);
-    if (sz < 10) {
-      sprintf(buf, "%llu", size>>(10*(index-1)));
-      printf("%c.%c", buf[0], buf[1]);
-    } else printf("%d", sz);
-    if (index) printf("%c", " KMGTPE"[index]);
+    human_readable(toybuf, size);
+    printf("%s", toybuf);
   } else {
     int bits = 10;
 
-- 
cgit v1.2.3