From 87d338fbcbc7bc476b81339f80812f9ed10c2484 Mon Sep 17 00:00:00 2001 From: Fredrik Tolf Date: Wed, 10 Oct 2007 23:56:31 +0200 Subject: [PATCH] Slightly cleaned up bytes2si. --- clients/gtk2/dolcon.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/clients/gtk2/dolcon.c b/clients/gtk2/dolcon.c index b209370..9da836b 100644 --- a/clients/gtk2/dolcon.c +++ b/clients/gtk2/dolcon.c @@ -279,23 +279,16 @@ char *bytes2si(long long bytes) { int i; double b; - char *sd; static char ret[64]; + static char pfx[] = {'k', 'M', 'G', 'T'}; b = bytes; - for(i = 0; (b >= 1024) && (i < 4); i++) + for(i = 0; (b >= 1024) && (i < sizeof(pfx)); i++) b /= 1024; if(i == 0) - sd = "B"; - else if(i == 1) - sd = "kiB"; - else if(i == 2) - sd = "MiB"; - else if(i == 3) - sd = "GiB"; + snprintf(ret, 64, "%.1f B", b); else - sd = "TiB"; - snprintf(ret, 64, "%.1f %s", b, sd); + snprintf(ret, 64, "%.1f %ciB", b, pfx[i - 1]); return(ret); } -- 2.11.0