From afffd310360b155df2133d1f5f1ab2f4e939b570 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Wed, 11 Dec 2019 13:22:06 +1100 Subject: [PATCH] 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. --- configure.ac | 2 +- openbsd-compat/openbsd-compat.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index a12fc0d12..6e70e52c3 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 afe882f92..8c97173b1 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