*/
static void print_bytes_human(uint64_t bytes) {
if (bytes > TERABYTE)
- printf("%f TB", (double)bytes / TERABYTE);
+ printf("%.02f TB", (double)bytes / TERABYTE);
else if (bytes > GIGABYTE)
printf("%.01f GB", (double)bytes / GIGABYTE);
else if (bytes > MEGABYTE)
}
if (BEGINS_WITH(walk+1, "free")) {
- print_bytes_human(buf.f_bsize * buf.f_bfree);
+ print_bytes_human((uint64_t)buf.f_bsize * (uint64_t)buf.f_bfree);
walk += strlen("free");
}
if (BEGINS_WITH(walk+1, "used")) {
- print_bytes_human(buf.f_bsize * (buf.f_blocks - buf.f_bfree));
+ print_bytes_human((uint64_t)buf.f_bsize * ((uint64_t)buf.f_blocks - (uint64_t)buf.f_bfree));
walk += strlen("used");
}
if (BEGINS_WITH(walk+1, "total")) {
- print_bytes_human(buf.f_bsize * buf.f_blocks);
+ print_bytes_human((uint64_t)buf.f_bsize * (uint64_t)buf.f_blocks);
walk += strlen("total");
}
+
+ if (BEGINS_WITH(walk+1, "avail")) {
+ print_bytes_human((uint64_t)buf.f_bsize * (uint64_t)buf.f_bavail);
+ walk += strlen("avail");
+ }
}
}