summaryrefslogtreecommitdiff
path: root/cmd_fs.c
diff options
context:
space:
mode:
authorAleksei Kharlamov <der@2-47.ru>2022-02-26 18:06:02 +0100
committerAleksei Kharlamov <der@2-47.ru>2022-02-26 21:31:27 +0100
commitb1a2ab6eeffc62d32f648d9267dc101da77567d1 (patch)
tree517da832de24213902ce836d08495953ec1eb162 /cmd_fs.c
parent63805882d4a60de63ed82d81ef4cfbb6e499753a (diff)
Heap-allocate printbufs
Signed-off-by: Aleksei Kharlamov <aleksei@devass.club>
Diffstat (limited to 'cmd_fs.c')
-rw-r--r--cmd_fs.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/cmd_fs.c b/cmd_fs.c
index 759c989..6bf00c0 100644
--- a/cmd_fs.c
+++ b/cmd_fs.c
@@ -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;
}