48
char* ppsize(char* buf, size_t size)
48
/* input size is expected to be in KB */
49
char *ppsize(char *buf, unsigned long long size)
50
// Needs 9 bytes at max.
51
static char units[] = { 'K','M','G','T' };
51
/* Needs 9 bytes at max including trailing NUL:
52
* -1ULL ==> "16384 EB" */
53
static char units[] = { 'K', 'M', 'G', 'T', 'P', 'E' };
53
while (size >= 10000 ) {
55
while (size >= 10000 && base < sizeof(units)-1) {
57
size = (size >> 10) + !!(size & (1<<9));
57
sprintf(buf,"%lu %cB",(unsigned long)size,units[base]);
60
sprintf(buf, "%u %cB", (unsigned)size, units[base]);