utime: Fix a test failure on macOS 10.13.
[gnulib.git] / doc / glibc-functions / memmem.texi
blobef5b4ffed28f926df2b9259becfd7354e4c687b0
1 @node memmem
2 @subsection @code{memmem}
3 @findex memmem
5 LSB specification:@* @url{https://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/baselib-memmem-3.html}
7 Documentation:
8 @itemize
9 @item
10 @ifinfo
11 @ref{Search Functions,,Search Functions,libc},
12 @end ifinfo
13 @ifnotinfo
14 @url{https://www.gnu.org/software/libc/manual/html_node/Search-Functions.html},
15 @end ifnotinfo
16 @item
17 @uref{https://www.kernel.org/doc/man-pages/online/pages/man3/memmem.3.html,,man memmem}.
18 @end itemize
20 Gnulib module: memmem or memmem-simple
22 Both modules implement the same replacement for the @code{memmem} function
23 with the @code{memmem} module providing a replacement on more platforms where
24 the existing @code{memmem} function has a quadratic worst-case complexity.
26 Portability problems fixed by either Gnulib module @code{memmem-simple}
27 or @code{memmem}:
28 @itemize
29 @item
30 This function is missing on some platforms:
31 Mac OS X 10.5, FreeBSD 5.2.1, OpenBSD 4.0, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 10, mingw, MSVC 14.
32 @item
33 This function has reversed arguments on some older platforms:
34 Linux libc 5.0.9
35 @item
36 This function can trigger false positives for long periodic needles on
37 some platforms:
38 glibc 2.12, Cygwin 1.7.7.
40 @item
41 This function returns incorrect values in some cases, such as when
42 given an empty needle:
43 glibc <= 2.0, Solaris 11.4, Cygwin 1.5.x.
44 @end itemize
46 Performance problems fixed by Gnulib module @code{memmem}:
47 @itemize
48 @item
49 This function has quadratic instead of linear worst-case complexity on some
50 platforms:
51 glibc 2.8, FreeBSD 6.2, NetBSD 9.0, AIX 5.1, Solaris 11.4, Cygwin 1.5.x.
52 Note for small needles the replacement may be slower.
53 @end itemize
55 Portability problems not fixed by Gnulib:
56 @itemize
57 @end itemize