]> git.itanic.dy.fi Git - buddywatch/blobdiff - buddywatch.c
Close file earlier
[buddywatch] / buddywatch.c
index df5620de4f357de37284ec76296a8aca50ca2e93..d08f55a41af8346f46c64c340531ab70b496daac 100644 (file)
@@ -59,19 +59,43 @@ int main(int argc, char *argv[])
                        for (i = 0; i < MAX_ORDER; i++)
                                buddy[i] += bud[i];
                }
+               fclose(file);
 
                tot = 0;
-               for (i = 0; i < MAX_ORDER; i++) {
-                       printf("% 5lld.%02lldM",
-                               (buddy[i] * (1 << (i + 2))) >> 10,
-                               (buddy[i] * (1 << (i + 2))) % 1024 * 100 / 1024);
+               for (i = 0; i < MAX_ORDER; i++)
                        tot += buddy[i] * (1 << (i + 2));
-               }
-               printf("% 5lldM\n", tot >> 10);
 
-               nanosleep(&sleep, NULL);
+#define BUDDY_TO_MB(i)                                 \
+               ((buddy[i] * (1 << ((i) + 2))) >> 10)
+#define BUDDY_TO_MB_REM(i, rem)                                                \
+               ((buddy[i] * (1 << (i + 2))) % 1024 * rem / 1024)
 
-               fclose(file);
+               printf("% 5lld.%03lldM"
+                       "% 5lld.%03lldM"
+                       "% 5lld.%03lldM"
+                       "% 5lld.%03lldM"
+                       "% 5lld.%03lldM"
+                       "% 5lld.%03lldM"
+                       "% 5lld.%02lldM"
+                       "% 5lld.%01lldM"
+                       "% 5lldM"
+                       "% 5lldM"
+                       "% 5lldM"
+                       "% 5lldM\n",
+                       BUDDY_TO_MB(0), BUDDY_TO_MB_REM(0, 1000),
+                       BUDDY_TO_MB(1), BUDDY_TO_MB_REM(1, 1000),
+                       BUDDY_TO_MB(2), BUDDY_TO_MB_REM(2, 1000),
+                       BUDDY_TO_MB(3), BUDDY_TO_MB_REM(3, 1000),
+                       BUDDY_TO_MB(4), BUDDY_TO_MB_REM(4, 1000),
+                       BUDDY_TO_MB(5), BUDDY_TO_MB_REM(5, 1000),
+                       BUDDY_TO_MB(6), BUDDY_TO_MB_REM(6, 100),
+                       BUDDY_TO_MB(7), BUDDY_TO_MB_REM(7, 10),
+                       BUDDY_TO_MB(8),
+                       BUDDY_TO_MB(9),
+                       BUDDY_TO_MB(10),
+                       tot >> 10);
+
+               nanosleep(&sleep, NULL);
        }
        return 0;
 }