mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2025-08-17 12:41:05 +03:00
* modules/strstr: Split into... * modules/strstr-simple: ...new module that does not care about performance, but does care about glibc bug. * m4/strstr.m4 (gl_FUNC_STRSTR): Split... (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr if platform memchr is broken, per Debian bug 521737. * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken memchr. * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once. * doc/posix-functions/strstr.texi (strstr): Document the fix. * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise. * modules/mountlist (Depends-on): Add strstr-simple. * modules/gen-uni-tables (Depends-on): Likewise. * modules/argz (Depends-on): Add strstr. Signed-off-by: Eric Blake <ebb9@byu.net>
33 lines
938 B
Plaintext
33 lines
938 B
Plaintext
@node strstr
|
|
@section @code{strstr}
|
|
@findex strstr
|
|
|
|
POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/strstr.html}
|
|
|
|
Gnulib module: strstr or strstr-simple
|
|
|
|
Portability problems fixed by either Gnulib module @code{strstr-simple}
|
|
or @code{strstr}:
|
|
@itemize
|
|
@item
|
|
This function can trigger memchr bugs on some platforms:
|
|
glibc 2.10.
|
|
@end itemize
|
|
|
|
Portability problems fixed by Gnulib @code{strstr}:
|
|
@itemize
|
|
@item
|
|
This function has quadratic instead of linear worst-case complexity on some
|
|
platforms:
|
|
glibc 2.8, MacOS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, AIX
|
|
5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw.
|
|
@end itemize
|
|
|
|
Portability problems not fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
This function cannot work correctly on character strings in most multibyte
|
|
locales. Gnulib provides an alternative function @code{mbsstr} that works
|
|
on character strings in all locales.
|
|
@end itemize
|