]> git.ozlabs.org Git - ccan/blobdiff - ccan/typesafe_cb/test/compile_ok-typesafe_cb-NULL.c
typesafe_cb: expose _exact and _def variants.
[ccan] / ccan / typesafe_cb / test / compile_ok-typesafe_cb-NULL.c
diff --git a/ccan/typesafe_cb/test/compile_ok-typesafe_cb-NULL.c b/ccan/typesafe_cb/test/compile_ok-typesafe_cb-NULL.c
new file mode 100644 (file)
index 0000000..e3dceb2
--- /dev/null
@@ -0,0 +1,21 @@
+#include <ccan/typesafe_cb/typesafe_cb.h>
+#include <stdlib.h>
+
+/* NULL args for callback function should be OK for _exact and _def. */
+
+static void _register_callback(void (*cb)(void *arg), void *arg)
+{
+}
+
+#define register_callback_def(cb, arg)                         \
+       _register_callback(typesafe_cb_def(void, (cb), (arg)), (arg))
+
+#define register_callback_exact(cb, arg)                               \
+       _register_callback(typesafe_cb_exact(void, (cb), (arg)), (arg))
+
+int main(int argc, char *argv[])
+{
+       register_callback_def(NULL, "hello world");
+       register_callback_exact(NULL, "hello world");
+       return 0;
+}