This is just a hack, but it makes the speed managable for ccan/utf8
which produces a lot of output!
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
int old_len, len;
/* This length includes nul terminator! */
old_len = tal_count(c->output);
int old_len, len;
/* This length includes nul terminator! */
old_len = tal_count(c->output);
- tal_resize(&c->output, old_len + 1024);
- len = read(c->output_fd, c->output + old_len - 1, 1024);
+ tal_resize(&c->output, old_len + 65536);
+ len = read(c->output_fd, c->output + old_len - 1, 65536);
if (len < 0)
err(1, "Reading from async command");
if (len < 0)
err(1, "Reading from async command");
- tal_resize(&c->output, old_len + len);
+ if (len != 65536)
+ tal_resize(&c->output, old_len + len);
c->output[old_len + len - 1] = '\0';
if (len == 0) {
struct rusage ru;
c->output[old_len + len - 1] = '\0';
if (len == 0) {
struct rusage ru;