From 3e15838a5c3cd4d893519e194e17c74f16adf9d6 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sun, 8 Sep 2019 19:37:06 +0200 Subject: [PATCH] change: refactor humanreadsize --- discspan.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) 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) -- 2.39.5