]> git.ozlabs.org Git - ccan/blobdiff - tools/ccanlint/async.c
base64: fix for unsigned chars (e.g. ARM).
[ccan] / tools / ccanlint / async.c
index d867079d0782c4f341e9af443517494f52f83c78..3f88bbcdf830d0ca7afbd9e4214936e6940a1f9d 100644 (file)
@@ -6,6 +6,7 @@
 #include <sys/wait.h>
 #include <sys/stat.h>
 #include <fcntl.h>
+#include <signal.h>
 #include <stdlib.h>
 #include <unistd.h>
 #include <err.h>
@@ -34,7 +35,7 @@ struct command {
        const void *ctx;
 };
 
-static void killme(int sig)
+static void killme(int sig UNNEEDED)
 {
        kill(-getpid(), SIGKILL);
 }
@@ -150,11 +151,12 @@ static void reap_output(void)
                        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");
-                       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;