From 04353387ec2a1ee4a28e44be9062c2a6967f397d Mon Sep 17 00:00:00 2001 From: vda Date: Sun, 5 Nov 2006 00:44:39 +0000 Subject: smart_ulltoa5: make available in libbb git-svn-id: svn://busybox.net/trunk/busybox@16510 69ca8d6d-28ef-0310-b511-8ec308f3f277 --- miscutils/nmeter.c | 36 +----------------------------------- 1 file changed, 1 insertion(+), 35 deletions(-) (limited to 'miscutils') diff --git a/miscutils/nmeter.c b/miscutils/nmeter.c index d71bd6add..326d7b85f 100644 --- a/miscutils/nmeter.c +++ b/miscutils/nmeter.c @@ -214,42 +214,8 @@ static int rdval_diskstats(const char* p, ullong *vec) static void scale(ullong ul) { - char *fmt; char buf[5]; - char c; - unsigned v,idx = 0; - ul *= 10; - if (ul > 9999*10) { // do not scale if 9999 or less - while (ul >= 10000) { - ul /= 1024; - idx++; - } - } - v = ul; // ullong divisions are expensive, avoid them - - fmt = " 123456789"; - if (!idx) { // 9999 or less: use 1234 format - c = buf[0] = " 123456789"[v/10000]; - if (c!=' ') fmt = "0123456789"; - c = buf[1] = fmt[v/1000%10]; - if (c!=' ') fmt = "0123456789"; - buf[2] = fmt[v/100%10]; - buf[3] = "0123456789"[v/10%10]; - } else { - if (v>=10*10) { // scaled value is >=10: use 123M format - c = buf[0] = " 123456789"[v/1000]; - if (c!=' ') fmt = "0123456789"; - buf[1] = fmt[v/100%10]; - buf[2] = "0123456789"[v/10%10]; - } else { // scaled value is <10: use 1.2M format - buf[0] = "0123456789"[v/10]; - buf[1] = '.'; - buf[2] = "0123456789"[v%10]; - } - // see http://en.wikipedia.org/wiki/Tera - buf[3] = " kMGTPEZY"[idx]; - } - buf[4] = '\0'; + smart_ulltoa5(ul, buf); put(buf); } -- cgit v1.2.3-55-g6feb