From: Rusty Russell Date: Thu, 22 Sep 2011 04:30:21 +0000 (+0930) Subject: ccanlint: fix output for async commands. X-Git-Url: https://git.ozlabs.org/?p=ccan;a=commitdiff_plain;h=37965b33eeb202773dc70c4546d0b050b8e717b5;ds=sidebyside ccanlint: fix output for async commands. Previously, it was always "", since we left the nul terminator at the start. --- diff --git a/tools/ccanlint/async.c b/tools/ccanlint/async.c index 9c7a442e..5c2c4da7 100644 --- a/tools/ccanlint/async.c +++ b/tools/ccanlint/async.c @@ -148,14 +148,16 @@ static void reap_output(void) tlist_for_each_safe(&running, c, next, list) { if (FD_ISSET(c->output_fd, &in)) { int old_len, len; + /* This length includes nul terminator! */ old_len = talloc_array_length(c->output); c->output = talloc_realloc(c, c->output, char, old_len + 1024); - len = read(c->output_fd, c->output + old_len, 1024); + len = read(c->output_fd, c->output + old_len - 1, 1024); if (len < 0) err(1, "Reading from async command"); c->output = talloc_realloc(c, c->output, char, old_len + len); + c->output[old_len + len - 1] = '\0'; if (len == 0) { struct rusage ru; wait4(c->pid, &c->status, 0, &ru);