X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=doc%2Fglibc-functions%2Fmemmem.texi;h=f37a9e13544b509163bfb4bf2fc69789388bcf36;hb=adff17f337187985ea8c62b961fde5c9544911aa;hp=a9ec7de27d7ede26d2c7878caef5bdcdbcc58d05;hpb=398c3b9ba95888804ed35f380bcaead0a493baa7;p=gnulib.git diff --git a/doc/glibc-functions/memmem.texi b/doc/glibc-functions/memmem.texi index a9ec7de27..f37a9e135 100644 --- a/doc/glibc-functions/memmem.texi +++ b/doc/glibc-functions/memmem.texi @@ -4,27 +4,37 @@ Gnulib module: memmem or memmem-simple +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.3, FreeBSD 5.2.1, OpenBSD 4.0, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. +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 -@end itemize +@item +This function can trigger false positives for long periodic needles on +some platforms: +glibc 2.12, Cygwin 1.7.7. -Portability problems fixed by Gnulib module @code{memmem}: -@itemize @item This function returns incorrect values in some cases, such as when given an empty needle: -glibc <= 2.0, Cygwin 1.5.x. +glibc <= 2.0, Solaris 11 2011-11, Cygwin 1.5.x. +@end itemize + +Performance problems fixed by Gnulib module @code{memmem}: +@itemize @item This function has quadratic instead of linear worst-case complexity on some platforms: -glibc 2.6.1, FreeBSD 6.2, NetBSD 3.0, AIX 5.1, Cygwin 1.5.x. +glibc 2.8, FreeBSD 6.2, NetBSD 5.0, AIX 5.1, Solaris 11 2011-11, Cygwin 1.5.x. +Note for small needles the replacement may be slower. @end itemize Portability problems not fixed by Gnulib: