| 26 | 1024ULL * 1024ULL * 1024ULL; |
| 27 | |
| 28 | void format_size(uint64_t size, char *result) |
| 29 | { |
| 30 | uint64_t multiplier; |
| 31 | int i; |
| 32 | |
| 33 | multiplier = exbibytes; |
| 34 | |
| 35 | for (i = 0 ; i < DIM(sizes) ; i++, multiplier /= 1024) { |
| 36 | if (size < multiplier) |
| 37 | continue; |
| 38 | if (size % multiplier == 0) |
| 39 | sprintf(result, "%" PRIu64 " %s", size / multiplier, sizes[i]); |
| 40 | else |
| 41 | sprintf(result, "%.1f %s", (float) size / multiplier, sizes[i]); |
| 42 | return; |
| 43 | } |
| 44 | |
| 45 | strcpy(result, "0"); |
| 46 | return; |
| 47 | } |