-# memmem.m4 serial 21
-dnl Copyright (C) 2002, 2003, 2004, 2007, 2008, 2009, 2010 Free Software
-dnl Foundation, Inc.
+# memmem.m4 serial 23
+dnl Copyright (C) 2002-2004, 2007-2011 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
- AC_REPLACE_FUNCS([memmem])
+ AC_CHECK_FUNCS([memmem])
+ if test $ac_cv_func_memmem = yes; then
+ HAVE_MEMMEM=1
+ else
+ HAVE_MEMMEM=0
+ fi
AC_CHECK_DECLS_ONCE([memmem])
if test $ac_cv_have_decl_memmem = no; then
HAVE_DECL_MEMMEM=0
result |= 1;
/* Check for empty needle behavior. */
{
- char* haystack="AAA";
- if (memmem (haystack, 3, 0, 0) != haystack)
+ const char *haystack = "AAA";
+ if (memmem (haystack, 3, NULL, 0) != haystack)
result |= 2;
}
return result;
]])],
[gl_cv_func_memmem_works_always=yes],
[gl_cv_func_memmem_works_always=no],
- [dnl glibc 2.12 and cygwin 1.7.7 have issue #12092 above.
- dnl Also empty needles work on glibc >= 2.1 and cygwin >= 1.7.0
+ [dnl glibc 2.9..2.12 and cygwin 1.7.7 have issue #12092 above.
+ dnl Also empty needles work on glibc >= 2.1 and cygwin >= 1.7.0.
dnl uClibc is not affected, since it uses different source code.
dnl Assume that it works on all other platforms (even if not linear).
AC_EGREP_CPP([Lucky user],
#include <features.h>
#if ((__GLIBC__ == 2 && ((__GLIBC_MINOR > 0 && __GLIBC_MINOR__ < 9) \
|| __GLIBC_MINOR__ > 12)) \
- || (__GLIBC__ > 2)) || defined __UCLIBC__
+ || (__GLIBC__ > 2)) \
+ || defined __UCLIBC__
Lucky user
#endif
#elif defined __CYGWIN__
])
if test "$gl_cv_func_memmem_works_always" != yes; then
REPLACE_MEMMEM=1
- AC_LIBOBJ([memmem])
fi
fi
gl_PREREQ_MEMMEM
])
if test "$gl_cv_func_memmem_works_fast" != yes; then
REPLACE_MEMMEM=1
- AC_LIBOBJ([memmem])
fi
fi
]) # gl_FUNC_MEMMEM