From 48c172ba589cfd848624b51f6f748b56bc217775 Mon Sep 17 00:00:00 2001 From: Rob Landley 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