From: Bastian Dehn Date: Sun, 8 Sep 2019 17:37:06 +0000 (+0200) Subject: change: refactor humanreadsize X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=3e15838a5c3cd4d893519e194e17c74f16adf9d6;p=discspan.git change: refactor humanreadsize --- diff --git a/discspan.c b/discspan.c index b3110dd..d21a133 100644 --- a/discspan.c +++ b/discspan.c @@ -9,29 +9,20 @@ void printHumanReadSize(const char *output, unsigned long long int splitgroesse) { unsigned long long humanread; - char einheit = 'B'; + char einheit[6] = {'B', 'K', 'M', 'G', 'T', 'P'}; char i = 0; humanread = splitgroesse; while (humanread >= 1024) { - i++; humanread /= 1024; - - switch (i) { - case 1: - einheit = 'K'; - break; - case 2: - einheit = 'M'; - break; - case 3: - einheit = 'G'; - break; - } + i++; } + if (i > sizeof(einheit)/sizeof(einheit[0])) + i = 0; + printf("Restlicher Platz in Bytes(%s): %lld (%lld %c)\n", output, - splitgroesse, humanread, einheit); + splitgroesse, humanread, *(einheit + i)); } int cmpfunc(const void *filea, const void *fileb)