summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.in1
-rw-r--r--aclocal.m41
-rw-r--r--config.h.in10
-rwxr-xr-xconfigure381
-rw-r--r--docs/Makefile.in1
-rw-r--r--gnulib/lib/Makefile.am11
-rw-r--r--gnulib/lib/Makefile.in29
-rw-r--r--gnulib/lib/memmem.c75
-rw-r--r--gnulib/m4/gnulib-cache.m43
-rw-r--r--gnulib/m4/gnulib-comp.m413
-rw-r--r--gnulib/m4/memmem.m4151
-rw-r--r--init/Makefile.in1
-rw-r--r--init/systemd/Makefile.in1
-rw-r--r--lib/Makefile.in1
-rw-r--r--libdb/Makefile.in1
-rw-r--r--man/Makefile.in1
-rw-r--r--man/da/Makefile.in1
-rw-r--r--man/de/Makefile.in1
-rw-r--r--man/es/Makefile.in1
-rw-r--r--man/fr/Makefile.in1
-rw-r--r--man/id/Makefile.in1
-rw-r--r--man/it/Makefile.in1
-rw-r--r--man/ja/Makefile.in1
-rw-r--r--man/nl/Makefile.in1
-rw-r--r--man/pl/Makefile.in1
-rw-r--r--man/po4a/Makefile.in1
-rw-r--r--man/pt_BR/Makefile.in1
-rw-r--r--man/ru/Makefile.in1
-rw-r--r--man/sr/Makefile.in1
-rw-r--r--man/sv/Makefile.in1
-rw-r--r--man/zh_CN/Makefile.in1
-rw-r--r--manual/Makefile.in1
-rw-r--r--src/Makefile.in1
-rw-r--r--src/tests/Makefile.in1
-rw-r--r--tools/Makefile.in1
35 files changed, 685 insertions, 15 deletions
diff --git a/Makefile.in b/Makefile.in
index ddd9cf8e..6adf4412 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -197,6 +197,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/aclocal.m4 b/aclocal.m4
index 9ae61193..2e58593f 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1633,6 +1633,7 @@ m4_include([gnulib/m4/mbsrtowcs.m4])
m4_include([gnulib/m4/mbstate_t.m4])
m4_include([gnulib/m4/mbtowc.m4])
m4_include([gnulib/m4/memchr.m4])
+m4_include([gnulib/m4/memmem.m4])
m4_include([gnulib/m4/mempcpy.m4])
m4_include([gnulib/m4/memrchr.m4])
m4_include([gnulib/m4/minmax.m4])
diff --git a/config.h.in b/config.h.in
index 101313e3..83c77f5a 100644
--- a/config.h.in
+++ b/config.h.in
@@ -245,6 +245,9 @@
/* Define to 1 when the gnulib module memchr should be tested. */
#undef GNULIB_TEST_MEMCHR
+/* Define to 1 when the gnulib module memmem should be tested. */
+#undef GNULIB_TEST_MEMMEM
+
/* Define to 1 when the gnulib module mempcpy should be tested. */
#undef GNULIB_TEST_MEMPCPY
@@ -515,6 +518,10 @@
don't. */
#undef HAVE_DECL_MBSRTOWCS
+/* Define to 1 if you have the declaration of `memmem', and to 0 if you don't.
+ */
+#undef HAVE_DECL_MEMMEM
+
/* Define to 1 if you have the declaration of `memrchr', and to 0 if you
don't. */
#undef HAVE_DECL_MEMRCHR
@@ -793,6 +800,9 @@
/* Define to 1 if <wchar.h> declares mbstate_t. */
#undef HAVE_MBSTATE_T
+/* Define to 1 if you have the `memmem' function. */
+#undef HAVE_MEMMEM
+
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
diff --git a/configure b/configure
index ef8896fb..b175dbee 100755
--- a/configure
+++ b/configure
@@ -15673,6 +15673,8 @@ fi
# Code from module mbsrtowcs:
# Code from module mbtowc:
# Code from module memchr:
+ # Code from module memmem:
+ # Code from module memmem-simple:
# Code from module mempcpy:
# Code from module memrchr:
# Code from module minmax:
@@ -24849,6 +24851,135 @@ $as_echo "$gl_cv_func_memchr_works" >&6; }
fi
+ ac_fn_c_check_decl "$LINENO" "memmem" "ac_cv_have_decl_memmem" "$ac_includes_default"
+if test "x$ac_cv_have_decl_memmem" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_MEMMEM $ac_have_decl
+_ACEOF
+
+
+
+
+
+
+ for ac_func in memmem
+do :
+ ac_fn_c_check_func "$LINENO" "memmem" "ac_cv_func_memmem"
+if test "x$ac_cv_func_memmem" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_MEMMEM 1
+_ACEOF
+
+fi
+done
+
+ if test $ac_cv_func_memmem = yes; then
+ HAVE_MEMMEM=1
+ else
+ HAVE_MEMMEM=0
+ fi
+
+ :
+
+
+
+
+
+ if test $ac_cv_have_decl_memmem = no; then
+ HAVE_DECL_MEMMEM=0
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memmem works" >&5
+$as_echo_n "checking whether memmem works... " >&6; }
+if ${gl_cv_func_memmem_works_always+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef __GNU_LIBRARY__
+ #include <features.h>
+ #if ((__GLIBC__ == 2 && ((__GLIBC_MINOR > 0 && __GLIBC_MINOR__ < 9) \
+ || __GLIBC_MINOR__ > 12)) \
+ || (__GLIBC__ > 2)) \
+ || defined __UCLIBC__
+ Lucky user
+ #endif
+#elif defined __CYGWIN__
+ #include <cygwin/version.h>
+ #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 7)
+ Lucky user
+ #endif
+#else
+ Lucky user
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "Lucky user" >/dev/null 2>&1; then :
+ gl_cv_func_memmem_works_always="guessing yes"
+else
+ gl_cv_func_memmem_works_always="guessing no"
+fi
+rm -f conftest*
+
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <string.h> /* for memmem */
+#define P "_EF_BF_BD"
+#define HAYSTACK "F_BD_CE_BD" P P P P "_C3_88_20" P P P "_C3_A7_20" P
+#define NEEDLE P P P P P
+
+int
+main ()
+{
+
+ int result = 0;
+ if (memmem (HAYSTACK, strlen (HAYSTACK), NEEDLE, strlen (NEEDLE)))
+ result |= 1;
+ /* Check for empty needle behavior. */
+ {
+ const char *haystack = "AAA";
+ if (memmem (haystack, 3, NULL, 0) != haystack)
+ result |= 2;
+ }
+ return result;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_memmem_works_always=yes
+else
+ gl_cv_func_memmem_works_always=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_memmem_works_always" >&5
+$as_echo "$gl_cv_func_memmem_works_always" >&6; }
+ case "$gl_cv_func_memmem_works_always" in
+ *yes) ;;
+ *)
+ REPLACE_MEMMEM=1
+ ;;
+ esac
+ fi
+ :
+
+
ac_fn_c_check_decl "$LINENO" "memrchr" "ac_cv_have_decl_memrchr" "$ac_includes_default"
if test "x$ac_cv_have_decl_memrchr" = xyes; then :
ac_have_decl=1
@@ -35440,6 +35571,256 @@ $as_echo "#define GNULIB_TEST_MEMCHR 1" >>confdefs.h
+ if test $HAVE_DECL_MEMMEM = 1 && test $REPLACE_MEMMEM = 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memmem works in linear time" >&5
+$as_echo_n "checking whether memmem works in linear time... " >&6; }
+if ${gl_cv_func_memmem_works_fast+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 9) || (__GLIBC__ > 2)) \
+ && !defined __UCLIBC__
+ Lucky user
+ #endif
+#endif
+#ifdef __CYGWIN__
+ #include <cygwin/version.h>
+ #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 0)
+ Lucky user
+ #endif
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "Lucky user" >/dev/null 2>&1; then :
+ gl_cv_func_memmem_works_fast="guessing yes"
+else
+ gl_cv_func_memmem_works_fast="guessing no"
+fi
+rm -f conftest*
+
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <signal.h> /* for signal */
+#include <string.h> /* for memmem */
+#include <stdlib.h> /* for malloc */
+#include <unistd.h> /* for alarm */
+static void quit (int sig) { exit (sig + 128); }
+
+int
+main ()
+{
+
+ int result = 0;
+ size_t m = 1000000;
+ char *haystack = (char *) malloc (2 * m + 1);
+ char *needle = (char *) malloc (m + 1);
+ /* Failure to compile this test due to missing alarm is okay,
+ since all such platforms (mingw) also lack memmem. */
+ signal (SIGALRM, quit);
+ alarm (5);
+ /* Check for quadratic performance. */
+ if (haystack && needle)
+ {
+ memset (haystack, 'A', 2 * m);
+ haystack[2 * m] = 'B';
+ memset (needle, 'A', m);
+ needle[m] = 'B';
+ if (!memmem (haystack, 2 * m + 1, needle, m + 1))
+ result |= 1;
+ }
+ return result;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_memmem_works_fast=yes
+else
+ gl_cv_func_memmem_works_fast=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_memmem_works_fast" >&5
+$as_echo "$gl_cv_func_memmem_works_fast" >&6; }
+ case "$gl_cv_func_memmem_works_fast" in
+ *yes) ;;
+ *)
+ REPLACE_MEMMEM=1
+ ;;
+ esac
+ fi
+
+ if test $HAVE_MEMMEM = 0 || test $REPLACE_MEMMEM = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS memmem.$ac_objext"
+
+ fi
+
+
+
+
+ for ac_func in memmem
+do :
+ ac_fn_c_check_func "$LINENO" "memmem" "ac_cv_func_memmem"
+if test "x$ac_cv_func_memmem" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_MEMMEM 1
+_ACEOF
+
+fi
+done
+
+ if test $ac_cv_func_memmem = yes; then
+ HAVE_MEMMEM=1
+ else
+ HAVE_MEMMEM=0
+ fi
+
+ :
+
+
+
+
+
+ if test $ac_cv_have_decl_memmem = no; then
+ HAVE_DECL_MEMMEM=0
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memmem works" >&5
+$as_echo_n "checking whether memmem works... " >&6; }
+if ${gl_cv_func_memmem_works_always+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef __GNU_LIBRARY__
+ #include <features.h>
+ #if ((__GLIBC__ == 2 && ((__GLIBC_MINOR > 0 && __GLIBC_MINOR__ < 9) \
+ || __GLIBC_MINOR__ > 12)) \
+ || (__GLIBC__ > 2)) \
+ || defined __UCLIBC__
+ Lucky user
+ #endif
+#elif defined __CYGWIN__
+ #include <cygwin/version.h>
+ #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 7)
+ Lucky user
+ #endif
+#else
+ Lucky user
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "Lucky user" >/dev/null 2>&1; then :
+ gl_cv_func_memmem_works_always="guessing yes"
+else
+ gl_cv_func_memmem_works_always="guessing no"
+fi
+rm -f conftest*
+
+
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <string.h> /* for memmem */
+#define P "_EF_BF_BD"
+#define HAYSTACK "F_BD_CE_BD" P P P P "_C3_88_20" P P P "_C3_A7_20" P
+#define NEEDLE P P P P P
+
+int
+main ()
+{
+
+ int result = 0;
+ if (memmem (HAYSTACK, strlen (HAYSTACK), NEEDLE, strlen (NEEDLE)))
+ result |= 1;
+ /* Check for empty needle behavior. */
+ {
+ const char *haystack = "AAA";
+ if (memmem (haystack, 3, NULL, 0) != haystack)
+ result |= 2;
+ }
+ return result;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ gl_cv_func_memmem_works_always=yes
+else
+ gl_cv_func_memmem_works_always=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_memmem_works_always" >&5
+$as_echo "$gl_cv_func_memmem_works_always" >&6; }
+ case "$gl_cv_func_memmem_works_always" in
+ *yes) ;;
+ *)
+ REPLACE_MEMMEM=1
+ ;;
+ esac
+ fi
+ :
+
+ if test $HAVE_MEMMEM = 0 || test $REPLACE_MEMMEM = 1; then
+
+
+
+
+
+
+
+
+ gl_LIBOBJS="$gl_LIBOBJS memmem.$ac_objext"
+
+ fi
+
+
+
+
+
+ GNULIB_MEMMEM=1
+
+
+
+
+
+$as_echo "#define GNULIB_TEST_MEMMEM 1" >>confdefs.h
+
+
+
+
+
diff --git a/docs/Makefile.in b/docs/Makefile.in
index db55a3f3..4a2f3a86 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -197,6 +197,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/gnulib/lib/Makefile.am b/gnulib/lib/Makefile.am
index 5f229163..e1506f4d 100644
--- a/gnulib/lib/Makefile.am
+++ b/gnulib/lib/Makefile.am
@@ -21,7 +21,7 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib --m4-base=gnulib/m4 --po-base=gnulib/po --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-conditional-dependencies --libtool --macro-prefix=gl --po-domain=man-db --no-vc-files argp canonicalize closedir dirent dirname error flock fnmatch-gnu fstat futimens getline getopt-gnu gettext gitlog-to-changelog glob gnupload idpriv-drop idpriv-droptemp lib-ignore localcharset lock minmax mkdtemp mkstemp nanosleep nonblocking openat opendir regex rename save-cwd setenv sigaction signal sigprocmask stat-time strcasestr strerror strsep timespec unsetenv utimens warnings xalloc xgetcwd xstrndup xvasprintf
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib --m4-base=gnulib/m4 --po-base=gnulib/po --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-conditional-dependencies --libtool --macro-prefix=gl --po-domain=man-db --no-vc-files argp canonicalize closedir dirent dirname error flock fnmatch-gnu fstat futimens getline getopt-gnu gettext gitlog-to-changelog glob gnupload idpriv-drop idpriv-droptemp lib-ignore localcharset lock memmem minmax mkdtemp mkstemp nanosleep nonblocking openat opendir regex rename save-cwd setenv sigaction signal sigprocmask stat-time strcasestr strerror strsep timespec unsetenv utimens warnings xalloc xgetcwd xstrndup xvasprintf
AUTOMAKE_OPTIONS = 1.9.6 gnits subdir-objects
@@ -1036,6 +1036,15 @@ EXTRA_libgnu_la_SOURCES += memchr.c
## end gnulib module memchr
+## begin gnulib module memmem-simple
+
+
+EXTRA_DIST += memmem.c str-two-way.h
+
+EXTRA_libgnu_la_SOURCES += memmem.c
+
+## end gnulib module memmem-simple
+
## begin gnulib module mempcpy
diff --git a/gnulib/lib/Makefile.in b/gnulib/lib/Makefile.in
index 7023d26d..93e593d3 100644
--- a/gnulib/lib/Makefile.in
+++ b/gnulib/lib/Makefile.in
@@ -35,7 +35,7 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib --m4-base=gnulib/m4 --po-base=gnulib/po --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-conditional-dependencies --libtool --macro-prefix=gl --po-domain=man-db --no-vc-files argp canonicalize closedir dirent dirname error flock fnmatch-gnu fstat futimens getline getopt-gnu gettext gitlog-to-changelog glob gnupload idpriv-drop idpriv-droptemp lib-ignore localcharset lock minmax mkdtemp mkstemp nanosleep nonblocking openat opendir regex rename save-cwd setenv sigaction signal sigprocmask stat-time strcasestr strerror strsep timespec unsetenv utimens warnings xalloc xgetcwd xstrndup xvasprintf
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib --m4-base=gnulib/m4 --po-base=gnulib/po --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-conditional-dependencies --libtool --macro-prefix=gl --po-domain=man-db --no-vc-files argp canonicalize closedir dirent dirname error flock fnmatch-gnu fstat futimens getline getopt-gnu gettext gitlog-to-changelog glob gnupload idpriv-drop idpriv-droptemp lib-ignore localcharset lock memmem minmax mkdtemp mkstemp nanosleep nonblocking openat opendir regex rename save-cwd setenv sigaction signal sigprocmask stat-time strcasestr strerror strsep timespec unsetenv utimens warnings xalloc xgetcwd xstrndup xvasprintf
@@ -222,6 +222,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
@@ -1489,16 +1490,17 @@ EXTRA_DIST = alloca.c alloca.in.h areadlink.h openat-priv.h \
localeconv.c lstat.c malloc.c malloc.c malloca.h \
malloca.valgrind mbrtowc.c mbsinit.c mbsrtowcs-impl.h \
mbsrtowcs-state.c mbsrtowcs.c mbtowc-impl.h mbtowc.c memchr.c \
- memchr.valgrind mempcpy.c memrchr.c mkdtemp.c mkstemp.c \
- msvc-inval.c msvc-inval.h msvc-nothrow.c msvc-nothrow.h \
- nanosleep.c nl_langinfo.c nonblocking.h stdio-read.c \
- stdio-write.c open.c openat.c openat.h dirent-private.h \
- opendir.c pathmax.h raise.c rawmemchr.c rawmemchr.valgrind \
- dirent-private.h readdir.c readlink.c realloc.c regcomp.c \
- regex.c regex.h regex_internal.c regex_internal.h regexec.c \
- rename.c dirent-private.h rewinddir.c rmdir.c same.h \
- same-inode.h save-cwd.h secure_getenv.c select.c setenv.c \
- sig-handler.h sigaction.c signal.in.h sigprocmask.c sleep.c \
+ memchr.valgrind memmem.c str-two-way.h mempcpy.c memrchr.c \
+ mkdtemp.c mkstemp.c msvc-inval.c msvc-inval.h msvc-nothrow.c \
+ msvc-nothrow.h nanosleep.c nl_langinfo.c nonblocking.h \
+ stdio-read.c stdio-write.c open.c openat.c openat.h \
+ dirent-private.h opendir.c pathmax.h raise.c rawmemchr.c \
+ rawmemchr.valgrind dirent-private.h readdir.c readlink.c \
+ realloc.c regcomp.c regex.c regex.h regex_internal.c \
+ regex_internal.h regexec.c rename.c dirent-private.h \
+ rewinddir.c rmdir.c same.h same-inode.h save-cwd.h \
+ secure_getenv.c select.c setenv.c sig-handler.h sigaction.c \
+ signal.in.h sigprocmask.c sleep.c \
$(top_srcdir)/build-aux/snippet/_Noreturn.h \
$(top_srcdir)/build-aux/snippet/arg-nonnull.h \
$(top_srcdir)/build-aux/snippet/c++defs.h \
@@ -1583,8 +1585,8 @@ EXTRA_libgnu_la_SOURCES = alloca.c openat-proc.c btowc.c \
getdelim.c getdtablesize.c getline.c getlogin_r.c getopt.c \
getopt1.c gettimeofday.c glob.c ioctl.c localeconv.c lstat.c \
malloc.c malloc.c mbrtowc.c mbsinit.c mbsrtowcs-state.c \
- mbsrtowcs.c mbtowc.c memchr.c mempcpy.c memrchr.c mkdtemp.c \
- mkstemp.c msvc-inval.c msvc-nothrow.c nanosleep.c \
+ mbsrtowcs.c mbtowc.c memchr.c memmem.c mempcpy.c memrchr.c \
+ mkdtemp.c mkstemp.c msvc-inval.c msvc-nothrow.c nanosleep.c \
nl_langinfo.c stdio-read.c stdio-write.c open.c openat.c \
opendir.c raise.c rawmemchr.c readdir.c readlink.c realloc.c \
regcomp.c regex.c regex_internal.c regexec.c rename.c \
@@ -1758,6 +1760,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbsrtowcs.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbtowc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memchr.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memmem.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mempcpy.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memrchr.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdtemp.Plo@am__quote@
diff --git a/gnulib/lib/memmem.c b/gnulib/lib/memmem.c
new file mode 100644
index 00000000..dcad3321
--- /dev/null
+++ b/gnulib/lib/memmem.c
@@ -0,0 +1,75 @@
+/* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2014 Free Software
+ Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, see <http://www.gnu.org/licenses/>. */
+
+/* This particular implementation was written by Eric Blake, 2008. */
+
+#ifndef _LIBC
+# include <config.h>
+#endif
+
+/* Specification of memmem. */
+#include <string.h>
+
+#ifndef _LIBC
+# define __builtin_expect(expr, val) (expr)
+#endif
+
+#define RETURN_TYPE void *
+#define AVAILABLE(h, h_l, j, n_l) ((j) <= (h_l) - (n_l))
+#include "str-two-way.h"
+
+/* Return the first occurrence of NEEDLE in HAYSTACK. Return HAYSTACK
+ if NEEDLE_LEN is 0, otherwise NULL if NEEDLE is not found in
+ HAYSTACK. */
+void *
+memmem (const void *haystack_start, size_t haystack_len,
+ const void *needle_start, size_t needle_len)
+{
+ /* Abstract memory is considered to be an array of 'unsigned char' values,
+ not an array of 'char' values. See ISO C 99 section 6.2.6.1. */
+ const unsigned char *haystack = (const unsigned char *) haystack_start;
+ const unsigned char *needle = (const unsigned char *) needle_start;
+
+ if (needle_len == 0)
+ /* The first occurrence of the empty string is deemed to occur at
+ the beginning of the string. */
+ return (void *) haystack;
+
+ /* Sanity check, otherwise the loop might search through the whole
+ memory. */
+ if (__builtin_expect (haystack_len < needle_len, 0))
+ return NULL;
+
+ /* Use optimizations in memchr when possible, to reduce the search
+ size of haystack using a linear algorithm with a smaller
+ coefficient. However, avoid memchr for long needles, since we
+ can often achieve sublinear performance. */
+ if (needle_len < LONG_NEEDLE_THRESHOLD)
+ {
+ haystack = memchr (haystack, *needle, haystack_len);
+ if (!haystack || __builtin_expect (needle_len == 1, 0))
+ return (void *) haystack;
+ haystack_len -= haystack - (const unsigned char *) haystack_start;
+ if (haystack_len < needle_len)
+ return NULL;
+ return two_way_short_needle (haystack, haystack_len, needle, needle_len);
+ }
+ else
+ return two_way_long_needle (haystack, haystack_len, needle, needle_len);
+}
+
+#undef LONG_NEEDLE_THRESHOLD
diff --git a/gnulib/m4/gnulib-cache.m4 b/gnulib/m4/gnulib-cache.m4
index 56ad23e6..11ce89da 100644
--- a/gnulib/m4/gnulib-cache.m4
+++ b/gnulib/m4/gnulib-cache.m4
@@ -27,7 +27,7 @@
# Specification in the form of a command-line invocation:
-# gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib --m4-base=gnulib/m4 --po-base=gnulib/po --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-conditional-dependencies --libtool --macro-prefix=gl --po-domain=man-db --no-vc-files argp canonicalize closedir dirent dirname error flock fnmatch-gnu fstat futimens getline getopt-gnu gettext gitlog-to-changelog glob gnupload idpriv-drop idpriv-droptemp lib-ignore localcharset lock minmax mkdtemp mkstemp nanosleep nonblocking openat opendir regex rename save-cwd setenv sigaction signal sigprocmask stat-time strcasestr strerror strsep timespec unsetenv utimens warnings xalloc xgetcwd xstrndup xvasprintf
+# gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib --m4-base=gnulib/m4 --po-base=gnulib/po --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-conditional-dependencies --libtool --macro-prefix=gl --po-domain=man-db --no-vc-files argp canonicalize closedir dirent dirname error flock fnmatch-gnu fstat futimens getline getopt-gnu gettext gitlog-to-changelog glob gnupload idpriv-drop idpriv-droptemp lib-ignore localcharset lock memmem minmax mkdtemp mkstemp nanosleep nonblocking openat opendir regex rename save-cwd setenv sigaction signal sigprocmask stat-time strcasestr strerror strsep timespec unsetenv utimens warnings xalloc xgetcwd xstrndup xvasprintf
# Specification in the form of a few gnulib-tool.m4 macro invocations:
gl_LOCAL_DIR([])
@@ -53,6 +53,7 @@ gl_MODULES([
lib-ignore
localcharset
lock
+ memmem
minmax
mkdtemp
mkstemp
diff --git a/gnulib/m4/gnulib-comp.m4 b/gnulib/m4/gnulib-comp.m4
index 02acc547..2da2bd33 100644
--- a/gnulib/m4/gnulib-comp.m4
+++ b/gnulib/m4/gnulib-comp.m4
@@ -129,6 +129,8 @@ AC_DEFUN([gl_EARLY],
# Code from module mbsrtowcs:
# Code from module mbtowc:
# Code from module memchr:
+ # Code from module memmem:
+ # Code from module memmem-simple:
# Code from module mempcpy:
# Code from module memrchr:
# Code from module minmax:
@@ -531,6 +533,15 @@ AC_SUBST([LTALLOCA])
gl_PREREQ_MEMCHR
fi
gl_STRING_MODULE_INDICATOR([memchr])
+ gl_FUNC_MEMMEM
+ if test $HAVE_MEMMEM = 0 || test $REPLACE_MEMMEM = 1; then
+ AC_LIBOBJ([memmem])
+ fi
+ gl_FUNC_MEMMEM_SIMPLE
+ if test $HAVE_MEMMEM = 0 || test $REPLACE_MEMMEM = 1; then
+ AC_LIBOBJ([memmem])
+ fi
+ gl_STRING_MODULE_INDICATOR([memmem])
gl_FUNC_MEMPCPY
if test $HAVE_MEMPCPY = 0; then
AC_LIBOBJ([mempcpy])
@@ -1091,6 +1102,7 @@ AC_DEFUN([gl_FILE_LIST], [
lib/mbtowc.c
lib/memchr.c
lib/memchr.valgrind
+ lib/memmem.c
lib/mempcpy.c
lib/memrchr.c
lib/minmax.h
@@ -1319,6 +1331,7 @@ AC_DEFUN([gl_FILE_LIST], [
m4/mbstate_t.m4
m4/mbtowc.m4
m4/memchr.m4
+ m4/memmem.m4
m4/mempcpy.m4
m4/memrchr.m4
m4/minmax.m4
diff --git a/gnulib/m4/memmem.m4 b/gnulib/m4/memmem.m4
new file mode 100644
index 00000000..98bb4912
--- /dev/null
+++ b/gnulib/m4/memmem.m4
@@ -0,0 +1,151 @@
+# memmem.m4 serial 24
+dnl Copyright (C) 2002-2004, 2007-2014 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.
+
+dnl Check that memmem is present and functional.
+AC_DEFUN([gl_FUNC_MEMMEM_SIMPLE],
+[
+ dnl Persuade glibc <string.h> to declare memmem().
+ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
+ 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
+ else
+ dnl Detect http://sourceware.org/bugzilla/show_bug.cgi?id=12092.
+ dnl Also check that we handle empty needles correctly.
+ AC_CACHE_CHECK([whether memmem works],
+ [gl_cv_func_memmem_works_always],
+ [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+#include <string.h> /* for memmem */
+#define P "_EF_BF_BD"
+#define HAYSTACK "F_BD_CE_BD" P P P P "_C3_88_20" P P P "_C3_A7_20" P
+#define NEEDLE P P P P P
+]], [[
+ int result = 0;
+ if (memmem (HAYSTACK, strlen (HAYSTACK), NEEDLE, strlen (NEEDLE)))
+ result |= 1;
+ /* Check for empty needle behavior. */
+ {
+ 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.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],
+ [
+#ifdef __GNU_LIBRARY__
+ #include <features.h>
+ #if ((__GLIBC__ == 2 && ((__GLIBC_MINOR > 0 && __GLIBC_MINOR__ < 9) \
+ || __GLIBC_MINOR__ > 12)) \
+ || (__GLIBC__ > 2)) \
+ || defined __UCLIBC__
+ Lucky user
+ #endif
+#elif defined __CYGWIN__
+ #include <cygwin/version.h>
+ #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 7)
+ Lucky user
+ #endif
+#else
+ Lucky user
+#endif
+ ],
+ [gl_cv_func_memmem_works_always="guessing yes"],
+ [gl_cv_func_memmem_works_always="guessing no"])
+ ])
+ ])
+ case "$gl_cv_func_memmem_works_always" in
+ *yes) ;;
+ *)
+ REPLACE_MEMMEM=1
+ ;;
+ esac
+ fi
+ gl_PREREQ_MEMMEM
+]) # gl_FUNC_MEMMEM_SIMPLE
+
+dnl Additionally, check that memmem has linear performance characteristics
+AC_DEFUN([gl_FUNC_MEMMEM],
+[
+ AC_REQUIRE([gl_FUNC_MEMMEM_SIMPLE])
+ if test $HAVE_DECL_MEMMEM = 1 && test $REPLACE_MEMMEM = 0; then
+ AC_CACHE_CHECK([whether memmem works in linear time],
+ [gl_cv_func_memmem_works_fast],
+ [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+#include <signal.h> /* for signal */
+#include <string.h> /* for memmem */
+#include <stdlib.h> /* for malloc */
+#include <unistd.h> /* for alarm */
+static void quit (int sig) { exit (sig + 128); }
+]], [[
+ int result = 0;
+ size_t m = 1000000;
+ char *haystack = (char *) malloc (2 * m + 1);
+ char *needle = (char *) malloc (m + 1);
+ /* Failure to compile this test due to missing alarm is okay,
+ since all such platforms (mingw) also lack memmem. */
+ signal (SIGALRM, quit);
+ alarm (5);
+ /* Check for quadratic performance. */
+ if (haystack && needle)
+ {
+ memset (haystack, 'A', 2 * m);
+ haystack[2 * m] = 'B';
+ memset (needle, 'A', m);
+ needle[m] = 'B';
+ if (!memmem (haystack, 2 * m + 1, needle, m + 1))
+ result |= 1;
+ }
+ return result;
+ ]])],
+ [gl_cv_func_memmem_works_fast=yes], [gl_cv_func_memmem_works_fast=no],
+ [dnl Only glibc >= 2.9 and cygwin > 1.7.0 are known to have a
+ dnl memmem that works in linear time.
+ AC_EGREP_CPP([Lucky user],
+ [
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 9) || (__GLIBC__ > 2)) \
+ && !defined __UCLIBC__
+ Lucky user
+ #endif
+#endif
+#ifdef __CYGWIN__
+ #include <cygwin/version.h>
+ #if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 0)
+ Lucky user
+ #endif
+#endif
+ ],
+ [gl_cv_func_memmem_works_fast="guessing yes"],
+ [gl_cv_func_memmem_works_fast="guessing no"])
+ ])
+ ])
+ case "$gl_cv_func_memmem_works_fast" in
+ *yes) ;;
+ *)
+ REPLACE_MEMMEM=1
+ ;;
+ esac
+ fi
+]) # gl_FUNC_MEMMEM
+
+# Prerequisites of lib/memmem.c.
+AC_DEFUN([gl_PREREQ_MEMMEM], [:])
diff --git a/init/Makefile.in b/init/Makefile.in
index 417f619b..f7221cf1 100644
--- a/init/Makefile.in
+++ b/init/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/init/systemd/Makefile.in b/init/systemd/Makefile.in
index c25751d1..0619c985 100644
--- a/init/systemd/Makefile.in
+++ b/init/systemd/Makefile.in
@@ -197,6 +197,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/lib/Makefile.in b/lib/Makefile.in
index b5c8d6d5..e3a7c29a 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -198,6 +198,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/libdb/Makefile.in b/libdb/Makefile.in
index 4d67acd1..b039ac1c 100644
--- a/libdb/Makefile.in
+++ b/libdb/Makefile.in
@@ -198,6 +198,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/man/Makefile.in b/man/Makefile.in
index da39531a..ec914211 100644
--- a/man/Makefile.in
+++ b/man/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/man/da/Makefile.in b/man/da/Makefile.in
index b5b434da..1e319bbe 100644
--- a/man/da/Makefile.in
+++ b/man/da/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/man/de/Makefile.in b/man/de/Makefile.in
index 3460137b..6f7cf591 100644
--- a/man/de/Makefile.in
+++ b/man/de/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/man/es/Makefile.in b/man/es/Makefile.in
index d454adf3..ad0b899a 100644
--- a/man/es/Makefile.in
+++ b/man/es/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/man/fr/Makefile.in b/man/fr/Makefile.in
index 58b8a140..4c565f27 100644
--- a/man/fr/Makefile.in
+++ b/man/fr/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/man/id/Makefile.in b/man/id/Makefile.in
index 182422b7..3304a5a2 100644
--- a/man/id/Makefile.in
+++ b/man/id/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/man/it/Makefile.in b/man/it/Makefile.in
index 9729e1d8..3bf7c135 100644
--- a/man/it/Makefile.in
+++ b/man/it/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/man/ja/Makefile.in b/man/ja/Makefile.in
index 3a26a759..718a238c 100644
--- a/man/ja/Makefile.in
+++ b/man/ja/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/man/nl/Makefile.in b/man/nl/Makefile.in
index a4879063..d6103562 100644
--- a/man/nl/Makefile.in
+++ b/man/nl/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/man/pl/Makefile.in b/man/pl/Makefile.in
index 52ee2a18..96360d83 100644
--- a/man/pl/Makefile.in
+++ b/man/pl/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/man/po4a/Makefile.in b/man/po4a/Makefile.in
index fd80b3da..517db6f7 100644
--- a/man/po4a/Makefile.in
+++ b/man/po4a/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/man/pt_BR/Makefile.in b/man/pt_BR/Makefile.in
index 5b9f54b3..0efdbfa6 100644
--- a/man/pt_BR/Makefile.in
+++ b/man/pt_BR/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/man/ru/Makefile.in b/man/ru/Makefile.in
index f65ef660..346048d6 100644
--- a/man/ru/Makefile.in
+++ b/man/ru/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/man/sr/Makefile.in b/man/sr/Makefile.in
index 11996f71..6a95acb8 100644
--- a/man/sr/Makefile.in
+++ b/man/sr/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/man/sv/Makefile.in b/man/sv/Makefile.in
index 70853b11..ce8710ba 100644
--- a/man/sv/Makefile.in
+++ b/man/sv/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/man/zh_CN/Makefile.in b/man/zh_CN/Makefile.in
index 7238c435..1f7db07b 100644
--- a/man/zh_CN/Makefile.in
+++ b/man/zh_CN/Makefile.in
@@ -196,6 +196,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/manual/Makefile.in b/manual/Makefile.in
index 97fc2cb3..c8258301 100644
--- a/manual/Makefile.in
+++ b/manual/Makefile.in
@@ -197,6 +197,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/src/Makefile.in b/src/Makefile.in
index e9c5a8d4..3b6eea6a 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -203,6 +203,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/src/tests/Makefile.in b/src/tests/Makefile.in
index 32a149ad..82510e31 100644
--- a/src/tests/Makefile.in
+++ b/src/tests/Makefile.in
@@ -197,6 +197,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \
diff --git a/tools/Makefile.in b/tools/Makefile.in
index d7567f8c..51d85980 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -198,6 +198,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \
$(top_srcdir)/gnulib/m4/mbstate_t.m4 \
$(top_srcdir)/gnulib/m4/mbtowc.m4 \
$(top_srcdir)/gnulib/m4/memchr.m4 \
+ $(top_srcdir)/gnulib/m4/memmem.m4 \
$(top_srcdir)/gnulib/m4/mempcpy.m4 \
$(top_srcdir)/gnulib/m4/memrchr.m4 \
$(top_srcdir)/gnulib/m4/minmax.m4 \