23 lines
371 B
C
23 lines
371 B
C
#ifndef _HUMAN_H
|
|
#define _HUMAN_H
|
|
|
|
char *mu_humansize(off_t n) {
|
|
static char buf[16];
|
|
char *postfixes = "BKMGTPE";
|
|
|
|
double size = n;
|
|
size_t i;
|
|
for (i = 0; i < strlen(postfixes) && size >= 1024; i++)
|
|
size /= 1024;
|
|
|
|
if (i)
|
|
snprintf(buf, sizeof(buf), "%.1f%c", size, postfixes[i]);
|
|
|
|
else
|
|
snprintf(buf, sizeof(buf), "%ju", (uintmax_t)n);
|
|
|
|
return buf;
|
|
}
|
|
|
|
#endif
|