rbuf, tools: clean up rbuf usage.
authorRusty Russell <rusty@rustcorp.com.au>
Fri, 12 Oct 2018 00:25:31 +0000 (10:55 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Fri, 12 Oct 2018 00:25:31 +0000 (10:55 +1030)
We should use rbuf primitives not reach inside to membuf.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
ccan/rbuf/test/run-all.c
ccan/rbuf/test/run-partial-read.c
ccan/rbuf/test/run-term-eof.c
tools/depends.c
tools/tools.c
tools/tools.h

index d7c1a3f1e32964379756c91ca5b8962dac7eaaa3..c41ee20dd8083216448048c434b757f2f1b6b25c 100644 (file)
@@ -54,7 +54,7 @@ int main(void)
                }
                rbuf_consume(&in, sizeof(buf));
        }
-       free(membuf_cleanup(&in.m));
+       free(rbuf_cleanup(&in));
 
        /* This exits depending on whether all tests passed */
        return exit_status();
index 727fade8abdc9a8e2e86e76b2c1fc6678413bbd4..7ecf79d35ea63d8fcc08cb6dea6cbaddcc191d85 100644 (file)
@@ -60,7 +60,7 @@ int main(void)
        p = rbuf_read_str(&in, '\n');
        ok1(errno == 0);
        ok1(p == NULL);
-       free(membuf_cleanup(&in.m));
+       free(rbuf_cleanup(&in));
 
        /* This exits depending on whether all tests passed */
        return exit_status();
index 25b060f73a60cdb4fc176bd24d6a911b049972dc..86d7c18d43a13832aed17a3f87177caaf2377430 100644 (file)
@@ -59,6 +59,6 @@ int main(void)
        ok1(p);
        ok1(rbuf_start(&in) == p + strlen(p) + 1);
        free(rbuf_cleanup(&in));
-       
+
        return exit_status();
 }
index bf4015bf3c4c0f50ee0cc5b784517fbf02905e6d..e8e0f138dc0900e2349ccf14580bd25fdd2b8b95 100644 (file)
@@ -20,7 +20,7 @@ lines_from_cmd(const void *ctx, const char *format, ...)
        char *cmd;
        FILE *p;
        struct rbuf in;
-       char *str;
+       char *ret;
 
        va_start(ap, format);
        cmd = tal_vfmt(ctx, format, ap);
@@ -31,13 +31,14 @@ lines_from_cmd(const void *ctx, const char *format, ...)
                err(1, "Executing '%s'", cmd);
 
        /* FIXME: Use rbuf_read_str(&in, '\n') rather than strsplit! */
-       rbuf_init(&in, fileno(p), tal_arr(ctx, char, 0), 0, membuf_tal_realloc);
-       str = rbuf_read_str(&in, 0);
-       if (!str)
+       rbuf_init(&in, fileno(p), tal_arr(ctx, char, 0), 0,
+                 tal_rbuf_enlarge);
+       ret = rbuf_read_str(&in, 0);
+       if (!ret && errno)
                err(1, "Reading from '%s'", cmd);
        pclose(p);
 
-       return tal_strsplit(ctx, str, "\n", STR_EMPTY_OK);
+       return tal_strsplit(ctx, ret, "\n", STR_EMPTY_OK);
 }
 
 /* Be careful about trying to compile over running programs (parallel make).
index 2af158f8afb4d751ae5b45c78aa9e5c228ff6fc6..4874fc62645fdff6aa372ecc6637227e6377865e 100644 (file)
@@ -40,7 +40,7 @@ char *run_with_timeout(const void *ctx, const char *cmd,
        struct rbuf in;
        int status, ms;
        struct timeabs start;
-       const char *ret;
+       char *ret;
 
        *ok = false;
        if (pipe(p) != 0)
@@ -83,10 +83,8 @@ char *run_with_timeout(const void *ctx, const char *cmd,
        }
 
        close(p[1]);
-       rbuf_init(&in, p[0], tal_arr(ctx, char, 4096), 4096, membuf_tal_realloc);
-       ret = rbuf_read_str(&in, '\0');
-       if (!ret)
-               tal_free(rbuf_cleanup(&in));
+       rbuf_init(&in, p[0], tal_arr(ctx, char, 4096), 4096, tal_rbuf_enlarge);
+       ret = rbuf_read_str(&in, 0);
 
        /* This shouldn't fail... */
        if (waitpid(pid, &status, 0) != pid)
@@ -269,7 +267,7 @@ free:
        return ret;
 }
 
-void *membuf_tal_realloc(struct membuf *mb, void *p, size_t size)
+void *tal_rbuf_enlarge(struct membuf *mb, void *p, size_t size)
 {
        tal_resize((char **)&p, size);
        return p;
index e4bc8998613fd2748b71d805ad0d0857645e4d66..4da49354a3bbe0a408d5a8c3cee44a7fa6f1e149 100644 (file)
@@ -67,7 +67,7 @@ const char *temp_dir(void);
 void keep_temp_dir(void);
 bool move_file(const char *oldname, const char *newname);
 
-void *membuf_tal_realloc(struct membuf *mb, void *p, size_t size);
+void *tal_rbuf_enlarge(struct membuf *mb, void *p, size_t len);
 
 /* Freed on exit: a good parent for auto cleanup. */
 tal_t *autofree(void);