view doc/glibc-functions/memmem.texi @ 39913:73d60b1f9c96

doc: Update for Solaris 11.4. * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4, mention Solaris 11.4. * m4/printf.m4: Update comments about Solaris. * m4/log.m4: Likewise. * m4/log10.m4: Likewise. * m4/logb.m4: Likewise. * m4/logbf.m4: Likewise. * m4/logbl.m4: Likewise. * m4/rename.m4: Likewise. * m4/wcrtomb.m4: Likewise. * m4/hostent.m4: Likewise. * m4/servent.m4: Likewise.
author Bruno Haible <bruno@clisp.org>
date Sun, 14 Oct 2018 09:33:46 +0200
parents 65bc0f9b42bf
children
line wrap: on
line source

@node memmem
@subsection @code{memmem}
@findex memmem

Gnulib module: memmem or memmem-simple

Both modules implement the same replacement for the @code{memmem} function
with the @code{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:
Mac OS 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 14, 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, Solaris 11.4, 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.8, FreeBSD 6.2, NetBSD 5.0, AIX 5.1, Solaris 11.4, Cygwin 1.5.x.
Note for small needles the replacement may be slower.
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@end itemize