# HG changeset patch # User John Tsiombikas # Date 1318614073 -10800 # Node ID 3bd9cfd79fc0431d8e918d7352a87de2cc05abcd # Parent 29d89c00e61184a1dc4b2da764bd28cac0480531 fixed the size calculation diff -r 29d89c00e611 -r 3bd9cfd79fc0 lspart.c --- a/lspart.c Fri Oct 14 07:45:44 2011 +0300 +++ b/lspart.c Fri Oct 14 20:41:13 2011 +0300 @@ -200,18 +200,20 @@ return 0; } -const char *printsz(unsigned int sz) +const char *printsz(unsigned int sz_sect) { int i = 0; const char *suffix[] = { "kb", "mb", "gb", "tb", "pb", 0 }; static char buf[512]; - while(sz > 1024 && suffix[i + 1]) { - sz /= 1024; + float sz = (float)sz_sect / 2.0; + + while(sz > 1024.0 && suffix[i + 1]) { + sz /= 1024.0; i++; } - sprintf(buf, "%u %s", sz, suffix[i]); + sprintf(buf, "%.1f %s", sz, suffix[i]); return buf; }