diff options
Diffstat (limited to 'lib/ccan/asearch/test/compile_fail-return-value-const.c')
-rw-r--r-- | lib/ccan/asearch/test/compile_fail-return-value-const.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/ccan/asearch/test/compile_fail-return-value-const.c b/lib/ccan/asearch/test/compile_fail-return-value-const.c new file mode 100644 index 0000000000..2edee93501 --- /dev/null +++ b/lib/ccan/asearch/test/compile_fail-return-value-const.c @@ -0,0 +1,25 @@ +#include <ccan/asearch/asearch.h> +#include <ccan/array_size/array_size.h> +#include <string.h> + +static int cmp(const char *key, const char *const *elem) +{ + return strcmp(key, *elem); +} + +int main(void) +{ + const char key[] = "key"; + const char *elems[] = { "a", "big", "list", "of", "things" }; + +#ifdef FAIL + char **p; +#if !HAVE_TYPEOF +#error "Unfortunately we don't fail if no typeof." +#endif +#else + const char **p; +#endif + p = asearch(key, elems, ARRAY_SIZE(elems), cmp); + return p ? 0 : 1; +} |