Mercurial > hg > octave-kai > gnulib-hg
annotate doc/posix-functions/strstr.texi @ 11628:59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
* 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>
author | Eric Blake <ebb9@byu.net> |
---|---|
date | Tue, 16 Jun 2009 06:14:05 -0600 |
parents | c83dc7e8df57 |
children | bb0ceefd22dc |
rev | line source |
---|---|
9638
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
1 @node strstr |
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
2 @section @code{strstr} |
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
3 @findex strstr |
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
4 |
10876
c83dc7e8df57
Refer to new POSIX:2008 standard.
Bruno Haible <bruno@clisp.org>
parents:
10076
diff
changeset
|
5 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/strstr.html} |
9638
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
6 |
11628
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10876
diff
changeset
|
7 Gnulib module: strstr or strstr-simple |
9638
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
8 |
11628
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10876
diff
changeset
|
9 Portability problems fixed by either Gnulib module @code{strstr-simple} |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10876
diff
changeset
|
10 or @code{strstr}: |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10876
diff
changeset
|
11 @itemize |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10876
diff
changeset
|
12 @item |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10876
diff
changeset
|
13 This function can trigger memchr bugs on some platforms: |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10876
diff
changeset
|
14 glibc 2.10. |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10876
diff
changeset
|
15 @end itemize |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10876
diff
changeset
|
16 |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10876
diff
changeset
|
17 Portability problems fixed by Gnulib @code{strstr}: |
9638
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
18 @itemize |
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
19 @item |
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
20 This function has quadratic instead of linear worst-case complexity on some |
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
21 platforms: |
11628
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10876
diff
changeset
|
22 glibc 2.8, MacOS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, AIX |
59047bad770e
strstr, strcasestr: replace on platforms with broken memchr
Eric Blake <ebb9@byu.net>
parents:
10876
diff
changeset
|
23 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw. |
9638
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
24 @end itemize |
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
25 |
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
26 Portability problems not fixed by Gnulib: |
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
27 @itemize |
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
28 @item |
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
29 This function cannot work correctly on character strings in most multibyte |
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
30 locales. Gnulib provides an alternative function @code{mbsstr} that works |
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
31 on character strings in all locales. |
070329237839
Rename two directories: headers -> posix-headers, functions -> posix-functions.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
32 @end itemize |