summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@dtucker.net>2019-12-11 13:22:06 +1100
committerDarren Tucker <dtucker@dtucker.net>2019-12-11 13:22:06 +1100
commitafffd310360b155df2133d1f5f1ab2f4e939b570 (patch)
treec0ee1e71b5f1ebf4d056fe110d9bda6797f9dccb
parentad8cd420797695f3b580aea1034b9de60bede9b9 (diff)
Check if memmem is declared in system headers.
If the system (or one of the dependencies) implements memmem but does not define the header, we would not declare it either resulting in compiler warnings. Check for declaration explicitly. bz#3102.
-rw-r--r--configure.ac2
-rw-r--r--openbsd-compat/openbsd-compat.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index a12fc0d1..6e70e52c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1873,7 +1873,7 @@ AC_CHECK_FUNCS([ \
warn \
])
-AC_CHECK_DECLS([bzero])
+AC_CHECK_DECLS([bzero, memmem])
dnl Wide character support.
AC_CHECK_FUNCS([mblen mbtowc nl_langinfo wcwidth])
diff --git a/openbsd-compat/openbsd-compat.h b/openbsd-compat/openbsd-compat.h
index afe882f9..8c97173b 100644
--- a/openbsd-compat/openbsd-compat.h
+++ b/openbsd-compat/openbsd-compat.h
@@ -74,7 +74,7 @@ int getpagesize(void);
char *getcwd(char *pt, size_t size);
#endif
-#ifndef HAVE_MEMMEM
+#if defined(HAVE_DECL_MEMMEM) && HAVE_DECL_MEMMEM == 0
void *memmem(const void *, size_t, const void *, size_t);
#endif