diff options
author | Aleksei Kharlamov <der@2-47.ru> | 2022-02-26 18:06:02 +0100 |
---|---|---|
committer | Aleksei Kharlamov <der@2-47.ru> | 2022-02-26 21:31:27 +0100 |
commit | b1a2ab6eeffc62d32f648d9267dc101da77567d1 (patch) | |
tree | 517da832de24213902ce836d08495953ec1eb162 /cmd_fs.c | |
parent | 63805882d4a60de63ed82d81ef4cfbb6e499753a (diff) |
Heap-allocate printbufs
Signed-off-by: Aleksei Kharlamov <aleksei@devass.club>
Diffstat (limited to 'cmd_fs.c')
-rw-r--r-- | cmd_fs.c | 14 |
1 files changed, 6 insertions, 8 deletions
@@ -291,8 +291,7 @@ int fs_usage(void) int cmd_fs_usage(int argc, char *argv[]) { enum printbuf_units units = PRINTBUF_UNITS_BYTES; - char _buf[1 << 16]; - struct printbuf buf; + struct printbuf buf = PRINTBUF; char *fs; int opt; @@ -305,20 +304,19 @@ int cmd_fs_usage(int argc, char *argv[]) args_shift(optind); if (!argc) { - buf = PBUF(_buf); + printbuf_reset(&buf); buf.units = units; fs_usage_to_text(&buf, "."); - *buf.pos = 0; - printf("%s", _buf); + printf("%s", buf.buf); } else { while ((fs = arg_pop())) { - buf = PBUF(_buf); + printbuf_reset(&buf); buf.units = units; fs_usage_to_text(&buf, fs); - *buf.pos = 0; - printf("%s", _buf); + printf("%s", buf.buf); } } + printbuf_exit(&buf); return 0; } |