]> git.ozlabs.org Git - ccan/blobdiff - ccan/failtest/failtest.c
antithread: avoid arithmetic on void pointers
[ccan] / ccan / failtest / failtest.c
index 3f64bc91b512e35cb05a812979118ee06b9b1280..0f2ab0c7f2cda15464d0ee7dc81b16d34e25b602 100644 (file)
@@ -84,8 +84,9 @@ static struct failtest_call *add_history_(enum failtest_call_type type,
 #define add_history(type, file, line, elem) \
        add_history_((type), (file), (line), (elem), sizeof(*(elem)))
 
+/* We do a fake call inside a sizeof(), to check types. */
 #define set_cleanup(call, clean, type)                 \
-       (call)->cleanup = (void *)((void)sizeof(clean((type *)NULL)), (clean))
+       (call)->cleanup = (void *)((void)sizeof(clean((type *)NULL),1), (clean))
 
 static bool read_write_info(int fd)
 {
@@ -330,8 +331,9 @@ static NORETURN void failtest_cleanup(bool forced_cleanup, int status)
                if (!history[i].cleanup)
                        continue;
                if (!forced_cleanup) {
-                       printf("Leak at %s:%u\n",
-                              history[i].file, history[i].line);
+                       printf("Leak at %s:%u: --failpath=%s\n",
+                              history[i].file, history[i].line,
+                              failpath_string());
                        status = 1;
                }
                history[i].cleanup(&history[i].u);