|
2b430e39
|
2008-04-28T17:08:43
|
|
Add rawmemchr module, matching glibc.
* modules/string (Makefile.am): New indicator.
* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
* lib/string.in.h (rawmemchr): Declare when appropriate.
* modules/rawmemchr: New file.
* m4/rawmemchr.m4: Likewise.
* lib/rawmemchr.c: Likewise.
* modules/rawmemchr-tests: Likewise.
* tests/test-rawmemchr.c: Likewise.
* doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
module.
* modules/strchrnul (Depends-on): Add rawmemchr.
* lib/strchrnul.c (strchrnul): Optimize a corner case.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
9c063a2a
|
2008-01-10T22:22:51
|
|
Convert strcasestr module to use Two-Way algorithm.
* modules/strcasestr-simple: New module, based on the old
strcasestr, but with Two-Way rather than KMP.
* modules/strcasestr (Depends-on): Change to strcasestr-simple.
* lib/string.in.h (rpl_strcasestr): Declare.
* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
performance.
* lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
* modules/string (Makefile.am): Support strcasestr.
* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
* modules/strcasestr-tests (Depends-on): Check for alarm.
* tests/test-strcasestr.c: Augment test.
* lib/str-two-way.h: Clean up stray macro.
* NEWS: Document new module.
* MODULES.html.sh (string handling): Likewise.
* doc/functions/strcasestr.texi: New file.
* doc/gnulib.texi (Function Substitutes): New node. Move memmem
here, since it is not a POSIX function.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
f9462738
|
2008-01-15T02:25:14
|
|
Replace strsignal if it does not work fine.
|
|
bd642010
|
2008-01-14T00:26:30
|
|
New module 'strsignal'.
|
|
15834b98
|
2008-01-13T16:51:48
|
|
Don't redefine __attribute__ without a need.
|
|
96facb24
|
2008-01-10T07:38:11
|
|
Avoid quadratic strstr implementations.
* lib/strstr.c: New file.
* m4/strstr.m4: Likewise.
* modules/strstr: Likewise.
* modules/strstr-tests: Likewise.
* tests/test-strstr.c: Likewise.
* lib/string.in.h (rpl_strstr): Declare.
(memmem) [GNULIB_POSIXCHECK]: Document speed issue.
* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
* modules/string (Makefile.am): Likewise.
* MODULES.html.sh (string handling): Mention new module.
* doc/functions/strstr.texi (strstr): Document the bug.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
c01669e0
|
2008-01-08T17:15:27
|
|
Give gcc some memmem optimization hints.
* lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
(strcasestr): Declare as pure.
* modules/memmem (Maintainer): Claim my implementation.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
fc068cf4
|
2007-12-19T16:09:03
|
|
Fix memmem to avoid O(n^2) worst-case complexity.
* lib/memmem.c (knuth_morris_pratt): New function.
(memmem): Use it if first few naive iterations fail.
* m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
* modules/memcmp (License): Set to LGPLv2+, not LGPL.
* modules/memchr (License): Likewise.
* modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
malloca.
* tests/test-memmem.c: Rewrite, borrowing ideas from
test-mbsstr1.c; the old version wouldn't even compile!
* modules/memmem-tests: New file.
* lib/string.in.h (rpl_memmem): Add declaration.
* modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
REPLACE_MEMMEM.
Signed-off-by: Eric Blake <ebb9@byu.net>
|
|
a8c5982a
|
2007-12-03T12:50:59
|
|
Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
|
|
73f48e6f
|
2007-10-11T14:43:30
|
|
Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
* lib/strerror.c: Include <string.h> always, to test interface,
and to remove the need for the dummy.
Include intprops.h to compute width instead of doing it ourselves
and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
(strerror): Define it to return NULL if there's no system strerror.
(rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
Omit !HAVE_STRERROR code. We don't need to worry about supporting
ancient pre-strerror Unix systems well any more. Saying "unknown
system error" is enough.
* lib/string.in.h (strerror): Simplify the ifdef to reflect the
simpler strerror.c implementation.
* m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
Simplify the tests to reflect the simpler strerror implementation.
* modules/strerror (Depends-on): Add intprops.
|
|
3e74d283
|
2007-10-02T00:33:23
|
|
Rename string_.h to string.in.h.
|