aboutsummaryrefslogtreecommitdiff
path: root/toys
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2014-05-06 06:31:28 -0500
committerRob Landley <rob@landley.net>2014-05-06 06:31:28 -0500
commit48c172ba589cfd848624b51f6f748b56bc217775 (patch)
tree36439338e020b5fc3dad76c067117a8182624246 /toys
parent30e28cf7e166cf54b3a2a4fea5e6e134b5968812 (diff)
downloadtoybox-48c172ba589cfd848624b51f6f748b56bc217775.tar.gz
Switch human_readable() to just outputing decimal kilo/mega/gigabytes, make du use it, move it from lib/pending.c to lib.c.
Diffstat (limited to 'toys')
-rw-r--r--toys/pending/dd.c6
-rw-r--r--toys/posix/du.c12
2 files changed, 6 insertions, 12 deletions
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;