ls: implement ls -sh (human-readable allocated blocks)
No binary (build failed)
—
(log yok)
| @@ -498,9 +498,16 @@ static NOINLINE unsigned display_single(const struct dnode *dn) | |
| if (opt & OPT_i) /* show inode# */ | |
| column += printf("%7llu ", (long long) dn->dn_ino); | |
| - | //TODO: -h should affect -s too: |
| - | if (opt & OPT_s) /* show allocated blocks */ |
| - | column += printf("%6"OFF_FMT"u ", (off_t) (dn->dn_blocks >> 1)); |
| + | if (opt & OPT_s) { /* show allocated blocks */ |
| + | if (opt & OPT_h) { |
| + | column += printf("%"HUMAN_READABLE_MAX_WIDTH_STR"s ", |
| + | /* print size, show one fractional, use suffixes */ |
| + | make_human_readable_str((off_t)dn->dn_blocks << 9, 1, 0) |
| + | ); |
| + | } else { |
| + | column += printf("%6"OFF_FMT"u ", (off_t)(dn->dn_blocks >> 1)); |
| + | } |
| + | } |
| if (opt & OPT_l) { | |
| /* long listing: show mode */ | |
| char modestr[12]; | |