]> gitweb.hhaalo.de Git - discspan.git/commitdiff
change: refactor humanreadsize
authorBastian Dehn <hhaalo@arcor.de>
Sun, 8 Sep 2019 17:37:06 +0000 (19:37 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 8 Sep 2019 17:37:06 +0000 (19:37 +0200)
discspan.c

index b3110dd377480fd55c4cd0b2a697f48c8f155a8f..d21a133187440a533d3a514216846f68b29b84f8 100644 (file)
@@ -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)