version 1.24, 2019/07/19 15:40:11 |
version 1.25, 2020/01/12 20:51:08 |
|
|
|
|
useconds_t udelay = 5000000; |
useconds_t udelay = 5000000; |
int dispstart = 0; |
int dispstart = 0; |
|
int humanreadable = 0; |
int interactive = 1; |
int interactive = 1; |
int averageonly = 0; |
int averageonly = 0; |
int maxprint = 0; |
int maxprint = 0; |
|
|
print_fld_sdiv(field_def *fld, u_int64_t size, int d) |
print_fld_sdiv(field_def *fld, u_int64_t size, int d) |
{ |
{ |
int len; |
int len; |
|
char *mult = "KMGTPE"; |
|
int i = -1; |
|
|
if (fld == NULL) |
if (fld == NULL) |
return; |
return; |
|
|
if (len < 1) |
if (len < 1) |
return; |
return; |
|
|
tb_start(); |
if (humanreadable) { |
if (tbprintft("%llu", size) <= len) |
while (size >= 10000 && sizeof(mult) >= i + 1) { |
goto ok; |
i++; |
|
size /= d; |
tb_start(); |
} |
size /= d; |
tb_start(); |
if (tbprintft("%lluK", size) <= len) |
if (tbprintft("%llu%.1s", size, i == -1 ? "" : mult + i) <= len) |
goto ok; |
goto ok; |
if (size == 0) |
|
goto err; |
goto err; |
|
} |
tb_start(); |
do { |
size /= d; |
tb_start(); |
if (tbprintft("%lluM", size) <= len) |
if (tbprintft("%llu%.1s", size, i == -1 ? "" : mult + i) <= len) |
goto ok; |
goto ok; |
if (size == 0) |
i++; |
goto err; |
size /= d; |
|
} while (size != 0 && sizeof(mult) >= i); |
tb_start(); |
|
size /= d; |
|
if (tbprintft("%lluG", size) <= len) |
|
goto ok; |
|
if (size == 0) |
|
goto err; |
|
|
|
tb_start(); |
|
size /= d; |
|
if (tbprintft("%lluT", size) <= len) |
|
goto ok; |
|
|
|
err: |
err: |
|
tb_start(); |
print_fld_str(fld, "*"); |
print_fld_str(fld, "*"); |
tb_end(); |
tb_end(); |
return; |
return; |