@subsection @code{memmem}
@findex memmem
-Gnulib module: ---
+Gnulib module: memmem or memmem-simple
-Portability problems fixed by Gnulib:
+Both modules implement the same replacement for the @code{memmem} function
+with the memmem module providing a replacement on more platforms where
+the existing @code{memmem} function has a quadratic worst-case complexity.
+
+Portability problems fixed by either Gnulib module @code{memmem-simple}
+or @code{memmem}:
@itemize
+@item
+This function is missing on some platforms:
+MacOS X 10.5, FreeBSD 5.2.1, OpenBSD 4.0, Minix 3.1.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, MSVC 9, Interix 3.5, BeOS.
+@item
+This function has reversed arguments on some older platforms:
+Linux libc 5.0.9
+@item
+This function can trigger false positives for long periodic needles on
+some platforms:
+glibc 2.12, Cygwin 1.7.7.
+
+@item
+This function returns incorrect values in some cases, such as when
+given an empty needle:
+glibc <= 2.0, Cygwin 1.5.x.
@end itemize
-Portability problems not fixed by Gnulib:
+Performance problems fixed by Gnulib module @code{memmem}:
@itemize
@item
-This function is missing on some platforms:
-MacOS X 10.3, FreeBSD 5.2.1, OpenBSD 3.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS.
+This function has quadratic instead of linear worst-case complexity on some
+platforms:
+glibc 2.8, FreeBSD 6.2, NetBSD 5.0, AIX 5.1, Solaris 11 2010-11, Cygwin 1.5.x.
+Note for small needles the replacement may be slower.
+@end itemize
+
+Portability problems not fixed by Gnulib:
+@itemize
@end itemize