Browse Source

(size_trunc): added ability to show size in [G|g]bytes.

(cherry picked from commit fc3bb20f0943597a15b3a052b131c6975e18559e)

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Andrew Borodin 13 years ago
parent
commit
9f2b0cad79
1 changed files with 7 additions and 0 deletions
  1. 7 0
      lib/util.c

+ 7 - 0
lib/util.c

@@ -336,10 +336,17 @@ size_trunc (uintmax_t size, gboolean use_si)
     {
         divisor = use_si ? 1000 : 1024;
         xtra = use_si ? "k" : "K";
+
         if (size / divisor > 999999999UL)
         {
             divisor = use_si ? (1000 * 1000) : (1024 * 1024);
             xtra = use_si ? "m" : "M";
+
+            if (size / divisor > 999999999UL)
+            {
+                divisor = use_si ? (1000 * 1000 * 1000) : (1024 * 1024 * 1024);
+                xtra = use_si ? "g" : "G";
+            }
         }
     }
     g_snprintf (x, sizeof (x), "%.0f%s", 1.0 * size / divisor, xtra);