return inverted ? -n : n;
}
-/* Cut "NNNN " out of " NNNN kb" */
+/* Cut "NNNN" out of " NNNN kb" */
static char *grab_number(char *str, const char *match, unsigned sz)
{
if (strncmp(str, match, sz) == 0) {
str = skip_whitespace(str + sz);
- (skip_non_whitespace(str))[1] = '\0';
+ (skip_non_whitespace(str))[0] = '\0';
return xstrdup(str);
}
return NULL;
}
fclose(fp);
-#define S(s) (s ? s : "0 ")
+#define S(s) (s ? s : "0")
snprintf(linebuf, sizeof(linebuf),
- "Mem %stotal %sanon %smap %sfree",
+ "Mem total:%s anon:%s map:%s free:%s",
S(total), S(anon), S(map), S(mfree));
printf(OPT_BATCH_MODE ? "%.*s\n" : "\e[H\e[J%.*s\n", scr_width, linebuf);
snprintf(linebuf, sizeof(linebuf),
- " %sslab %sbuf %scache %sdirty %swrite",
+ " slab:%s buf:%s cache:%s dirty:%s write:%s",
S(slab), S(buf), S(cache), S(dirty), S(mwrite));
printf("%.*s\n", scr_width, linebuf);
snprintf(linebuf, sizeof(linebuf),
- "Swap %stotal %sfree", // TODO: % used?
+ "Swap total:%s free:%s", // TODO: % used?
S(swaptotal), S(swapfree));
printf("%.*s\n", scr_width, linebuf);