Yaakov Selkowitz
e6321aa6a6
ansification: remove _PTR
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17 11:47:16 -06:00
Yaakov Selkowitz
eea249da3b
ansification: remove _PARAMS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17 11:47:13 -06:00
Yaakov Selkowitz
0bda30e1ff
ansification: remove _CONST
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17 11:47:08 -06:00
Yaakov Selkowitz
6783860a2e
ansification: remove _AND
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17 11:47:05 -06:00
Jon Turney
c006fd459f
makedoc: make errors visible
...
Discard QUICKREF sections, rather than writing them to stderr
Discard MATHREF sections, rather than discarding as an error
Pass NOTES sections through to texinfo, rather than discarding as an error
Don't redirect makedoc stderr to .ref file
Remove makedoc output on error
Remove .ref files from CLEANFILES
Regenerate Makefile.ins
Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
2017-12-07 11:54:11 +00:00
Yaakov Selkowitz
352c8f2f0d
string: remove TRAD_SYNOPSIS
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-01 03:41:52 -06:00
Yaakov Selkowitz
8a94bca694
string: add wmempcpy
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-30 04:06:49 -06:00
Sebastian Huber
1592a0be0c
Fix warnings and documentation in strnstr.c
...
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2017-09-19 15:35:09 -05:00
Corinna Vinschen
192986ab03
newlib: string/Makefile.am (CHEWOUT_FILES): Add strnstr.def
...
Regenerate strings/Makefile.in
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-08-30 16:48:55 +02:00
Corinna Vinschen
5fc315b597
newlib: strnstr: drop traditional synopisis
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-08-30 16:45:36 +02:00
Sichen Zhao
42885ea4b8
Add man page entry for strnstr.c.
2017-08-30 15:10:07 +02:00
Sichen Zhao
f22054c94d
Modify strnstr.c.
2017-08-30 15:08:58 +02:00
Corinna Vinschen
c070326d31
newlib: rebuild string/Makefile.in
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2017-08-25 18:00:46 +02:00
Sichen Zhao
c206d04422
Port strnstr.c to newlib.
2017-08-25 18:00:46 +02:00
Sichen Zhao
3437665ac8
Import strnstr.c from FreeBSD.
2017-08-25 18:00:46 +02:00
Sebastian Huber
461152e4eb
Add ffsl(), ffsll(), fls(), flsl(), flsll()
...
Use compiler builtin for ffs(). Remove duplicate implementation from
Cygwin.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2017-07-05 13:49:48 +02:00
Sebastian Huber
d736941a51
Implement bzero() via memset()
...
Use memset() to implement bzero() to profit from machine-specific
memset() optimizations.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2017-07-05 13:49:48 +02:00
Yaakov Selkowitz
ec86124748
string: fix strverscmp doc inclusion
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-06-19 11:52:02 -05:00
Yaakov Selkowitz
59e09b6419
string: add strverscmp
...
The actual implementation is from musl (MIT license).
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-06-19 08:16:42 -05:00
Joel Sherrill
33c7b2b544
libc/string/strsignal.c: Use of || not && lead to dead code.
...
Coverity Id: 175333
2017-03-15 12:04:34 -05:00
Pat Pannuto
e02866a1b4
Add missing headers to fix implicit function defns
...
A few files were missing headers for memset/malloc, likely missed
because the files don't directly call the functions, rather they
come in via macros in libc/include/sys/reent.h:
#define _REENT_CHECK(var, what, type, size, init) do { \
struct _reent *_r = (var); \
if (_r->what == NULL) { \
_r->what = (type)malloc(size); \
#define _REENT_CHECK_ASCTIME_BUF(var) \
_REENT_CHECK(var, _asctime_buf, char *, _REENT_ASCTIME_SIZE, \
memset((var)->_asctime_buf, 0, _REENT_ASCTIME_SIZE))
Without these fixes, implicit function signatures are provided,
which gcc warns could cause aliasing issues down the line:
../../../../../../../newlib-2.5.0/newlib/libc/time/asctime.c:62:3: warning: type of 'memset' does not match original declaration [-Wlto-type-mismatch]
/Volumes/code/external/newlib-cygwin/newlib/libc/include/string.h:29:7: note: return value type mismatch
_PTR _EXFUN(memset,(_PTR, int, size_t));
^
/Volumes/code/external/newlib-cygwin/newlib/libc/include/string.h:29:7: note: 'memset' was previously declared here
/Volumes/code/external/newlib-cygwin/newlib/libc/include/string.h:29:7: note: code may be misoptimized unless -fno-strict-aliasing is used
../../../../../../../newlib-2.5.0/newlib/libc/time/asctime.c:62:3: warning: type of 'malloc' does not match original declaration [-Wlto-type-mismatch]
/Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: return value type mismatch
extern _PTR malloc _PARAMS ((size_t));
^
/Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: 'malloc' was previously declared here
/Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: code may be misoptimized unless -fno-strict-aliasing is used
../../../../../../../newlib-2.5.0/newlib/libc/time/lcltime.c:58:3: warning: type of 'malloc' does not match original declaration [-Wlto-type-mismatch]
/Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: return value type mismatch
extern _PTR malloc _PARAMS ((size_t));
^
/Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: 'malloc' was previously declared here
/Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: code may be misoptimized unless -fno-strict-aliasing is used
../../../../../../../newlib-2.5.0/newlib/libc/string/strsignal.c:70:3: warning: type of 'malloc' does not match original declaration [-Wlto-type-mismatch]
/Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: return value type mismatch
extern _PTR malloc _PARAMS ((size_t));
^
/Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: 'malloc' was previously declared here
/Volumes/code/external/newlib-cygwin/newlib/libc/include/malloc.h:37:13: note: code may be misoptimized unless -fno-strict-aliasing is used
Including the proper headers elminates the implicit function
signatures and these warnings.
2017-01-16 10:14:28 +01:00
Jeff Johnston
61f181d6b8
Bump release to 2.5.0 for yearly snapshot.
2016-12-22 21:33:54 -05:00
Corinna Vinschen
091a0ac120
Fix typo in strerror doc
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-08-31 13:43:19 +02:00
Eric Blake
ec0117b6e1
strerror_l: Fix copy-and-paste typo
...
Signed-off-by: Eric Blake <eblake@redhat.com>
2016-08-23 14:36:06 -05:00
Corinna Vinschen
7501249d5e
Mention strerror_l in libc/string/strings.tex
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-08-23 18:15:55 +02:00
Corinna Vinschen
463a8afaa5
Implement missing POSIX-1.2008 function strerror_l
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-08-23 17:51:14 +02:00
Corinna Vinschen
5085ce2106
Remove extern declaration of __locale_cjk_lang in string/local.h
...
Now that __locale_cjk_lang is an inline function in setlocale.h and
setlocale.h is included, the declaration doesn't make sense.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-08-21 12:14:32 +02:00
Corinna Vinschen
c1b7d9d93d
Implement per-locale string functions
...
strcasecmp_l, strcoll_l, strncasecmp_l, strxfrm_l,
wcscasecmp_l, wcscoll_l, wcstrncasecmp_l, wcstrxfrm_l,
strftime_l.
Add missing CHEWOUT_FILES from previous patch.
TODO: strfmon_l.
Signed-off by: Corinna Vinschen <corinna@vinschen.de>
2016-08-15 10:56:58 +02:00
Jon Turney
d7e47a557e
Regenerate newlib Makefiles
2016-07-04 17:13:55 +01:00
Sebastian Huber
55c239d834
Add timingsafe_memcmp()
...
This function is used by LibreSSL and OpenSSH and is provided by the
OpenBSD libc.
* libc/include/string.h (timingsafe_memcmp): Declare.
* libc/string/timingsafe_memcmp.c: New file.
* libc/string/Makefile.am: Add new file.
* libc/string/Makefile.in: Regenerate.
2016-03-18 12:33:40 +01:00
Sebastian Huber
559fd77dda
Add timingsafe_bcmp()
...
This function is used by LibreSSL and OpenSSH and is provided by the
OpenBSD libc.
* libc/include/string.h (timingsafe_bcmp): Declare.
* libc/string/timingsafe_bcmp.c: New file.
* libc/string/Makefile.am: Add new file.
* libc/string/Makefile.in: Regenerate.
2016-03-18 12:33:40 +01:00
Sebastian Huber
8740fa7fd0
Add explicit_bzero()
...
This function is used by LibreSSL and OpenSSH and is provided by the
OpenBSD libc.
* libc/include/string.h (explicit_bzero): Declare.
* libc/string/explicit_bzero.c: New file.
* libc/string/Makefile.am: Add new file.
* libc/string/Makefile.in: Regenerate.
2016-03-18 12:33:40 +01:00
Yaakov Selkowitz
8b8952064c
Fix compile with GCC 5 -Werror
...
newlib/libc/
* stdio64/freopen64.c: Include <string.h> for memset().
* stdlib/quick_exit.c: Include <unistd.h> for _exit().
* string/gnu_basename.c (__gnu_basename): Fix discarded const
qualifier warning.
* stdlib/strtold.c: Include "mprec.h" for _strtorx_r().
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2016-02-12 10:16:06 -06:00
Jeff Johnston
0631279394
Move duplicated documentation rules to Makefile.shared
...
- Also, harmonize libm to use CHEWOUT_FILES like libc, rather than chobj.
Update documentation appropriately.
* HOWTO: Update.
* Makefile.shared: Move documentation rules to here...
* libc/argz/Makefile.am: ... from here ...
* libc/ctype/Makefile.am: ... and here.
* libc/errno/Makefile.am: Ditto.
* libc/iconv/Makefile.am: Ditto.
* libc/iconv/ccs/Makefile.am : Ditto.
* libc/iconv/ces/Makefile.am: Ditto.
* libc/iconv/lib/Makefile.am: Ditto.
* libc/locale/Makefile.am: Ditto.
* libc/misc/Makefile.am: Ditto.
* libc/posix/Makefile.am: Ditto.
* libc/reent/Makefile.am: Ditto.
* libc/search/Makefile.am: Ditto.
* libc/stdio/Makefile.am: Ditto.
* libc/stdio64/Makefile.am: Ditto.
* libc/stdlib/Makefile.am : Ditto.
* libc/string/Makefile.am: Ditto.
* libc/syscalls/Makefile.am: Ditto.
* libc/time/Makefile.am : Ditto.
* libc/unix/Makefile.am: Ditto.
* libc/xdr/Makefile.am: Ditto.
* libm/common/Makefile.am: Ditto.
* libm/complex/Makefile.am: Ditto.
* libm/math/Makefile.am: Ditto.
* libm/mathfp/Makefile.am: Ditto.
2015-11-02 18:02:39 -05:00
Jeff Johnston
72e18faf62
Add missing semicolons to prototypes.
...
* libc/stdio/fseek.c: Add missing semicolons to prototypes in
SYNOPSIS.
* libc/stdio/fwide.c: Ditto.
* libc/stdio64/fseeko64.c: Ditto.
* libc/string/strtok.c: Ditto.
* libc/string/wcstok.c: Ditto.
* libm/math/w_cosh.c: Ditto.
* libm/math/w_fmod.c: Ditto.
* libm/mathfp/s_cosh.c: Ditto.
* libm/mathfp/s_fmod.c: Ditto.
2015-11-02 16:34:49 -05:00
Jon TURNEY
166d86c9d4
Regenerate Makefile.in
...
Regenerate Makefile.in with changes in commits 153385d8
and 433aad91
2015-06-29 Jon Turney <jon.turney@dronecode.org.uk>
* libc/ctype/Makefile.in: Regenerate.
* libc/posix/Makefile.in: Ditto.
* libc/stdio/Makefile.in: Ditto.
* libc/stdio64/Makefile.in: Ditto.
* libc/stdlib/Makefile.in: Ditto.
* libc/string/Makefile.in: Ditto.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2015-06-29 12:29:50 +01:00
Jon TURNEY
153385d847
Use source files which have makedoc markup, but aren't processed or included.
...
These source files have makedoc markup, but aren't listed to be chewed by
makedoc. I am assuming that is accidental.
Future work: Note that stdio/fseeko.c, stdio/ftello.c and common/s_isnand.c have
makedoc markup, but duplicate stdio/fseek.c, stdio/ftell.c and common/s_isnan.c
respectively.
2015-06-23 Jon Turney <jon.turney@dronecode.org.uk>
* libc/ctype/Makefile.am (CHEWOUT_FILES): Add isblank.def.
* libc/ctype/ctype.tex: Include isblank and add to menu.
* libc/posix/Makefile.am (CHEWOUT_FILES): Add posix_spawn.def.
* libc/posix/posix.tex: Include posix_spawn and add to menu.
* libc/stdio64/Makefile.am (CHEWOUT_FILES): Add fdopen.def.
* libc/stdio64/stdio64.tex: Include fdopen64 and add to menu.
* libc/stdio64/fdopen64.c: Improve one-line description.
* libc/string/Makefile.am (CHEWOUT_FILES): Add strchrnul.def.
* libc/string/strings.tex: Include strchrnul and add to menu.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2015-06-24 12:24:01 +01:00
Jon TURNEY
a4dd7dd87c
Use makedoc output files which are generated but aren't included
...
I think these are accidental omissions, as these source files are listed to be
chewed by makedoc, but the result is not included by any texinfo source file.
Future work: Nothing in libc/reent/ which is processed by makedoc is included by
reent.tex
2015-06-23 Jon Turney <jon.turney@dronecode.org.uk>
* libc/stdlib/stdlib.tex: Include itoa and utoa, and add to menu.
* libc/string/strings.tex: Include memrchr and rawmemchr, and add
to menu.
* libm/math/math.tex: Include exp10 and pow10, and add to menu.
* libm/common/s_exp10.c: Improve one-line description.
* libm/common/s_exp10.c: Ditto.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2015-06-24 12:23:55 +01:00
Jon TURNEY
e8442c9625
Remove stray punctuation in ANSI_SYNOPSIS prototypes
...
2015-06-23 Jon Turney <jon.turney@dronecode.org.uk>
* libc/string/wcscpy.c: Remove stray ',' from prototype in
ANSI_SYNOPSIS.
* libc/string/wcpcpy.c: Ditto.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2015-06-23 17:30:07 +01:00
Yaakov Selkowitz
d67052321e
string: add GNU basename(3)
...
* libc/include/libgen.h (_BASENAME_DEFINED): Define.
* libc/include/string.h (basename): Declare.
* libc/string/Makefile.am (ELIX_4_SOURCES): Add gnu_basename.c.
* libc/string/Makefile.in: Regenerate.
* libc/string/gnu_basename.c: New file.
2015-04-23 21:57:07 +02:00
Corinna Vinschen
633cf9b5dd
* libc/string/memccpy.c (memccpy): Fix warning about signed-unsigned
...
comparison
* libc/string/memchr.c (memchr): Ditto.
* libc/string/memrchr.c (memrchr): Ditto.
* libc/string/memset.c: (memset): Ditto.
* libc/string/rawmemchr.c (rawmemchr): Ditto.
* libc/string/local.h (__locale_cjk_lang): Fix "function declaration
isn't a prototype" warning.
* libc/string/strcasestr.c (strcasestr): Ditto.
* libc/string/u_strerr.c (_user_strerror): Fix "unused parameter"
warnings.
* libc/string/rawmemchr.c (rawmemchr): Fix comment type
"// ..." -> "/* ... */".
2014-10-09 12:24:56 +00:00
Corinna Vinschen
db0378d50f
* libc/string/strerror.c: Fix documentation so makedoc doesn't
...
stumble over a sole EAGAIN.
2014-07-30 08:02:12 +00:00
Corinna Vinschen
e2b585c12c
* libc/include/sys/errno.h: Fix comments.
...
* libc/string/strerror.c: Fix documentation.
(_strerror_r): Handle ENETRESET, EILSEQ, ENODATA, ECONNRESET,
EADDRNOTAVAIL, EOVERFLOW. Fix strings for EMFILE and EDOM.
2014-07-14 13:40:17 +00:00
Jeff Johnston
10e4d79a19
2013-12-10 Jeff Johnston <jjohnstn@redhat.com>
...
* acconfig.h: Add _HAVE_CC_INHIBIT_LOOP_TO_LIBCALL.
* newlib.hin: Ditto.
* configure: Regenerate.
* configure.in: Add setting of _HAVE_CC_INHIBIT_LOOP_TO_LIBCALL.
* libc/string/local.h: Add check for _HAVE_CC_INHIBIT_LOOP_TO_LIBCALL
and set __inhibit_loop_to_libcall macro appropriately.
* libc/string/memmove.c: Use __inhibit_loop_to_libcall macro in
function declaration.
* libc/string/memset.c: Ditto.
2013-12-10 18:57:30 +00:00
Joel Sherrill
380c9f6165
2013-11-26 Julio Gutierrez <jgutleyva@gmail.com>
...
*libc/include/wchar.h: Add restrict keyword.
*libc/stdio/fgetws.c (fgetws): ditto.
*libc/stdio/fputws.c (fputws): ditto.
*libc/stdio/fwprintf.c (fwprintf): ditto.
*libc/stdio/fwscanf.c (fwscanf): ditto.
*libc/stdio/swprintf.c (swprintf): ditto.
*libc/stdio/swscanf.c (swscanf): ditto.
*libc/stdio/vfwprintf.c (vfwprintf): ditto.
*libc/stdio/vfwscanf.c (vfwscanf): ditto.
*libc/stdio/vswprintf.c (vswprintf): ditto.
*libc/stdio/vswscanf.c (vswscanf): ditto.
*libc/stdio/vwprintf.c (vwprintf): ditto.
*libc/stdio/vwscanf.c (vwscanf): ditto.
*libc/stdio/wprintf.c (wprintf): ditto.
*libc/stdio/wscanf.c (wscanf): ditto.
*libc/stdlib/mbrlen.c (mbrlen): ditto.
*libc/stdlib/mbrtowc.c (mbrtowc): ditto.
*libc/stdlib/mbsnrtowcs.c (mbsnrtowcs): ditto.
*libc/stdlib/mbsrtowcs.c (mbsrtowcs): ditto.
*libc/stdlib/wcrtomb.c (wcrtomb): ditto.
*libc/stdlib/wcsnrtombs.c (wcsnrtombs): ditto.
*libc/stdlib/wcsrtombs.c (wcsrtombs): ditto.
*libc/stdlib/wcstod.c (wcstod): ditto.
*libc/stdlib/wcstol.c (wcstol): ditto.
*libc/stdlib/wcstold.c (wcstold): ditto.
*libc/stdlib/wcstoll.c (wcstoll): ditto.
*libc/stdlib/wcstoul.c (wcstoul): ditto.
*libc/stdlib/wcstoull.c (cstoull): ditto.
*libc/string/wcpcpy.c (wcpcpy): ditto.
*libc/string/wcpncpy.c (wcpncpy): ditto.
*libc/string/wcscat.c (wcscat): ditto.
*libc/string/wcscpy.c (wcscpy): ditto.
*libc/string/wcsncat.c (wcsncat): ditto.
*libc/string/wcsncpy.c (wcsncpy): ditto.
*libc/string/wcsstr.c (wcsstr): ditto.
*libc/string/wcstok.c (wcstok): ditto.
*libc/string/wcsxfrm.c (wcsxfrm): ditto.
*libc/string/wmemcpy.c (wmemcpy): ditto.
2013-11-26 17:21:01 +00:00
Joel Sherrill
c8c245c2d4
2013-08-08 Freddie Chopin <freddie_chopin@op.pl>
...
* libc/string/strncat.c: Fix typo in documentation.
2013-08-08 15:17:09 +00:00
Corinna Vinschen
b143d094ee
* libc/sys/linux/include/netdb.h, libc/sys/linux/net/getaddrinfo.c,
...
libc/sys/linux/net/getnameinfo.c: Add restrict keyword to getnameinfo()
and getaddrinfo() to increase standards compliance and match glibc.
* libc/include/string.h, libc/string/memccpy.c, libc/string/memcpy.c,
libc/string/stpcpy.c, libc/string/stpncpy.c, libc/string/strcat.c,
libc/string/strncat.c, libc/string/strncpy.c, libc/string/strtok.c,
libc/string/strtok_r.c, libc/string/strxfrm.c
libc/machine/microblaze/strcpy.c, libc/machine/xscale/memcpy.c,
libc/machine/cris/memcpy.c: Add __restrict to prototype to
increase standards compliance.
2013-07-23 07:05:31 +00:00
Yaakov Selkowitz
e3928ce48c
* libc/include/string.h (rawmemchr): Declare.
...
* libc/string/Makefile.am (ELIX_4_SOURCES): Add rawmemchr.c.
(CHEWOUT_FILES): Add rawmemchr.def.
* libc/string/Makefile.in: Regenerate.
* libc/string/rawmemchr.c: New file.
2013-06-24 15:11:24 +00:00
Jeff Johnston
b334e6660a
2013-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de>
...
* libc/stdio/local.h (CHECK_INIT): Evaluate argument only once.
(CHECK_STD_INIT): Likewise.
* libc/stdio/fgetc.c (fgetc): Use local variable for _REENT.
* libc/stdio/fgetwc.c (fwgetc): Likewise.
* libc/stdio/fgetws.c (fgetws): Likewise.
* libc/stdio/fputc.c (fputc): Likewise.
* libc/stdio/fputwc.c (fputwc): Likewise.
* libc/stdio/fputws.c (fputws): Likewise.
* libc/stdio/getc.c (getc): Likewise.
* libc/stdio/getchar.c (_getchar_r): Likewise.
* libc/stdio/putc.c (putc): Likewise.
* libc/stdio/putchar.c (putchar): Likewise.
* libc/stdio/scanf.c (scanf): Likewise.
* libc/stdio/setvbuf.c (setvbuf): Likewise.
* libc/stdio/ungetwc.c (ungetwc): Likewise.
* libc/stdio/vfscanf.c (VFSCANF): Likewise.
* libc/stdio/vfwscanf.c (VFWSCANF): Likewise.
* libc/stdio/viprintf.c (viprintf): Likewise.
* libc/stdio/viscanf.c (viscanf): Likewise.
* libc/stdio/vprintf.c (vprintf): Likewise.
* libc/stdio/vscanf.c (vscanf): Likewise.
* libc/stdio/vwprintf.c (vwprintf): Likewise.
* libc/stdio/vwscanf.c (vwscanf): Likewise.
* libc/stdio/wscanf.c (wscanf): Likewise.
* libc/stdlib/ecvtbuf.c (fcvtbuf): Likewise.
(fcvtbuf): Likewise.
(ecvtbuf): Likewise.
(ecvtbuf): Likewise.
* libc/stdlib/mblen.c (mblen): Likewise.
* libc/stdlib/mbrlen.c (mbrlen): Likewise.
* libc/stdlib/mbrtowc.c (mbrtowc): Likewise.
* libc/stdlib/mbtowc.c (mbtowc): Likewise.
* libc/stdlib/rand.c (srand): Likewise.
(rand): Likewise.
* libc/stdlib/wcrtomb.c (wcrtomb): Likewise.
* libc/stdlib/wctob.c (wctob): Likewise.
* libc/stdlib/wctomb.c (wctomb): Likewise.
* libc/string/strtok.c (strtok): Likewise.
* libc/time/asctime.c (asctime): Likewise.
* libc/time/gmtime.c (gmtime): Likewise.
* libc/time/lcltime.c (lcltime): Likewise.
2013-04-29 21:06:23 +00:00
Jeff Johnston
f2d223bd0f
2012-12-20 Jeff Johnston <jjohnstn@redhat.com>
...
* NEWS: Update with 2.0.0 info.
* README: Ditto.
* acinclude.m4: Change version number to 2.0.0.
* aclocal.m4: Regenerated.
* configure: Ditto.
* Makefile.in: Regenerated.
* doc/aclocal.m4: Ditto.
* doc/configure: Ditto.
* libc/*/aclocal.m4: Ditto.
* libc/*/configure: Ditto.
* libc/libc.texinfo: Ditto.
* libm/*/aclocal.m4: Ditto.
* libm/*/configure: Ditto.
* libm/libm.texinfo: Ditto.
* libc/sys/linux/shared.ld: Add VERS_2.0
2012-12-20 21:10:27 +00:00
Corinna Vinschen
5eceb3958e
* libc/include/sys/features.h (__GNUC_PREREQ): Define. Use
...
throughout in place of explicit GNUC version checks.
* libc/include/_ansi.h (_NOINLINE): Define.
(_NOINLINE_STATIC): Define.
* libc/stdio/vfprintf.c (__sbprintf): Define _NOINLINE_STATIC.
2012-10-16 18:45:24 +00:00
Corinna Vinschen
49264ad7dd
* libc/posix/engine.c(dissect): Guard diagnostic pragma for right
...
versions of GCC only.
* libc/string/strcasestr.c: Ditto.
Fix typo in previous ChangeLog entry.
2012-08-08 14:05:54 +00:00
Corinna Vinschen
1f232abc89
Throughout, run newlib with -Wall -Werror option and fix bugs and
...
compiler warnings found this way.
* libc/stdio/freopen.c (_freopen_r): Fix bug setting _flags.
* libc/include/stdio.h (_rename): Define when building newlib.
* libc/include/sys/signal.h (_kill): Ditto.
* libc/include/sys/stat.h (_mkdir): Ditto.
* libc/include/sys/time.h (_gettimeofday): Ditto.
* libc/include/sys/times.h (_times): Ditto.
* libc/include/sys/wait.h (_wait): Ditto.
* libc/locale/lmessages.c (empty): Don't define for Cygwin.
* libc/locale/lmonetary.c (cnv): Ditto.
* libc/locale/nl_langinfo.c (nl_langinfo): Ditto for variable s.
* libc/posix/collate.c: Throughout cast to avoid compiler warning.
* libc/posix/engine.c (matcher): Initialize dp to avoid compiler
warning.
* libc/posix/glob.c: Disable on Cygwin. Explain why.
* libc/posix/regcomp.c: Fix "uninitialized" compiler warnings.
(dissect): Deliberately silence gcc compiler warning. Add comment to
explain why.
* libc/posix/wordexp.c (wordexp): Remove num_bytes variable since result
is never used.
* libc/posix/popen.c (popen): Ditto for variable last.
* libc/reent/mkdirr.c: Include sys/stat.h.
* libc/reent/renamer.c: Include stdio.h.
* libc/search/hash.c: Throughout use underscored variants of the stat
function family.
(init_hash): Add missing definition for the __USE_INTERNAL_STAT64 case.
* libc/search/hash_bigkey.c (__big_insert): Add parenthesis to avoid
compiler warning.
* libc/search/hash_page.c (overflow_page): Initalize freep to NULL to
avoid compiler warning.
* libc/stdio/asiprintf.c (_asiprintf_r): Cast unsigned char * to char *
to avoid compiler warning.
(asiprintf): Ditto.
* libc/stdio/asprintf.c (_asprintf_r): Ditto.
(asprintf): Ditto.
* libc/stdio/vasiprintf.c (_vasiprintf_r): Ditto.
* libc/stdio/vasprintf.c (_vasprintf_r): Ditto.
* libc/stdio/mktemp.c (_gettemp): Cast to unsigned char in call to
isdigit to avoid compiler warning.
* libc/stdio/vfprintf.c (_VFPRINTF_R): Initialize variables used for
grouping to avoid compiler warning. Only define and set nseps and
nrepeats if they are really used.
* libc/stdio/vfwprintf.c (_VFWPRINTF_R): Ditto. Only define state if
it is really used.
* libc/stdio/vfscanf.c (u_char): Revert to be defined as unsigned char.
(__SVFSCANF_R): Cast fmt in call to __mbtowc.
* libc/stdlib/mbtowc_r.c (JIS_state_table): Disable when building
Cygwin.
(JIS_action_table): Ditto.
* libc/stdlib/wctomb_r.c (__utf8_wctomb): Add parenthesis to avoid
compiler warning.
* libc/string/strcasestr.c: Deliberately silence gcc compiler warning.
Add comment to explain why.
* libc/time/strptime.c (strptime): Cast to unsigned char in calls to
isspace to avoid compiler warning.
* libm/math/e_atan2.c (__ieee754_atan2): Add parenthesis to avoid
compiler warning.
* libm/math/e_exp.c (__ieee754_exp): Initialize k to 0 to avoid
compiler warning. Drop setting it to 0 later.
* libm/math/ef_exp.c (__ieee754_expf): Ditto.
* libm/math/e_pow.c (__ieee754_pow): Add braces to avoid compiler
warning.
* libm/math/ef_pow.c (__ieee754_powf): Ditto.
* libm/math/er_lgamma.c (__ieee754_lgamma_r): Initialize nadj to 0 to
avoid compiler warning.
* libm/math/erf_lgamma.c (__ieee754_lgammaf_r): Ditto.
* libm/math/e_rem_pio2.c (__ieee754_rem_pio2): Ditto for variable z.
* libm/common/sf_round.c (roundf): Remove signbit variable since result
is never used.
2012-08-08 11:04:18 +00:00
Corinna Vinschen
507b172d8d
* libc/include/string.h (memrchr): Declare.
...
* libc/string/Makefile.am (ELIX_4_SOURCES): Add memrchr.c.
(CHEWOUT_FILES): Add memrchr.def.
* libc/string/Makefile.in: Regenerate.
* libc/string/memrchr.c: New file.
2012-05-10 08:34:08 +00:00
Ralf Corsepius
da344d0ea9
2011-08-23 Ralf Corsépius <ralf.corsepius@rtems.org>
...
* libc/misc/ffs.c, libc/string/bcmp.c, libc/string/bcopy.c,
libc/string/bzero.c, libc/string/index.c, libc/string/rindex.c,
libc/string/strcasecmp.c, libc/string/strncasecmp.c:
Let synopsis reference "#include <strings.h>".
2011-08-23 12:01:51 +00:00
Ralf Corsepius
0792b19670
2011-08-23 Ralf Corsépius <ralf.corsepius@rtems.org>
...
* libc/posix/regexec.c: Define "nope" only #ifndef NDEBUG.
* libc/stdio/vfscanf.c: Define "state" only #ifdef _MB_CAPABLE.
* libc/string/wcwidth.c: Include <wctypes.h> for "iswprint" and
"iswcntrl".
2011-08-23 11:59:56 +00:00
Ralf Corsepius
f3e873f250
2011-08-22 Ralf Corsépius <ralf.corsepius@rtems.org>
...
* libc/string/index.c: Include <strings.h> for "index".
* libc/string/rindex.c: Include <strings.h> for "rindex".
* libc/string/strcasecmp.c: Include <strings.h> for "strcasecmp".
Don't include <string.h>.
* libc/string/strncasecmp.c: Include <strings.h> for "strncasecmp".
Don't include <string.h>.
* libc/string/bzero.c: Include <strings.h> for "bzero".
Don't include <string.h>
* libc/misc/ffs.c: Include <strings.h> for "ffs".
Don't include <_ansi.h>.
2011-08-22 16:49:37 +00:00
Ralf Corsepius
af8a9163c3
2011-08-19 Ralf Corsépius <ralf.corsepius@rtems.org>
...
* libc/string/bcmp.c: Include <strings.h> for "bcmp".
* libc/string/bcopy.c: Include <strings.h> for "bcopy".
* libc/string/strcasestr.c: Include <strings.h> for "strncasecmp".
* libc/time/strptime.c: Include <strings.h> for "strncasecmp".
2011-08-19 16:58:20 +00:00
Eric Blake
c65167c86e
* libc/string/strerror.c (_strerror_r): Report "Success" for 0.
2011-05-25 21:05:11 +00:00
Eric Blake
4805b60ccf
strerror: allow user hook to comply with POSIX rules
...
* libc/string/strerror.c (strerror): Split body into...
(_strerror_r): ...new reentrant function.
* libc/string/u_strerr.c (_user_strerror): Update signature.
* libc/include/stdio.h (_strerror_r): New prototype.
* libc/posix/collate.c (__collate_err): Adjust callers.
* libc/stdio/perror.c (_perror_r): Likewise.
* libc/string/strerror_r.c (strerror_r): Likewise.
* libc/string/xpg_strerror_r.c (__xpg_strerror_r): Likewise.
2011-05-25 18:41:10 +00:00
Eric Blake
0fbf39cc9f
strchrnul: avoid segv
...
* libc/string/strchrnul.c (strchrnul): Fix strchrnul.
2011-04-15 20:26:05 +00:00
Corinna Vinschen
cb840afddf
Check in strchrnul.c file missing in previous checkin
2011-03-28 14:52:17 +00:00
Corinna Vinschen
43ff4129ce
* libc/include/string.h (strchrnul): Declare.
...
* libc/string/strchrnul.c: New file.
* libc/string/Makefile.am (ELIX_2_SOURCES): Add strchrnul.c.
* libc/string/Makefile.in: Regenerate.
2011-03-28 14:51:28 +00:00
Eric Blake
7c10a76dec
strerror_r: provide POSIX implementation
...
* libc/include/string.h (strerror_r): Update declaration.
* libc/string/strerror.c (strerror): Update documentation.
* libc/string/strerror_r.c (strerror_r): Always return
NUL-terminated string; don't overwrite too-short buf.
* libc/string/xpg_strerror_r.c (__xpg_strerror_r): Implement POSIX
variant.
* libc/string/Makefile.am (GENERAL_SOURCES): Build new file.
* libc/string/Makefile.in: Regenerate.
2011-02-10 16:48:18 +00:00
Jeff Johnston
321b046c80
2010-12-16 Jeff Johnston <jjohnstn@redhat.com>
...
* NEWS: Update with 1.19.0 info.
* README: Ditto.
* MAINTAINERS: Update.
* acinclude.m4: Change version number to 1.19.0.
* aclocal.m4: Regenerated.
* configure: Ditto.
* Makefile.am: Fix stmp-targ-include target.
* Makefile.in: Regenerated.
* doc/aclocal.m4: Ditto.
* doc/configure: Ditto.
* libc/*/aclocal.m4: Ditto.
* libc/*/configure: Ditto.
* libc/libc.texinfo: Ditto.
* libm/*/aclocal.m4: Ditto.
* libm/*/configure: Ditto.
* libm/libm.texinfo: Ditto.
* libc/sys/linux/shared.ld: Add VERS_1.19
2010-12-16 21:59:17 +00:00
Corinna Vinschen
c725984f70
* lib/str-two-way.h (two_way_long_needle): Avoid bug with long
...
periodic needle having false positive. Affects memmem, strstr,
strcasestr.
2010-10-06 09:29:35 +00:00
Jeff Johnston
60376287eb
2010-09-21 Craig Howland <howland@LGSInnovations.com>
...
* libc/string/memcpy.c: Do not assign size_t parameter to int.
Use parameter directly, instead.
* libc/string/memccpy.c: Likewise.
* libc/string/mempcpy.c: Likewise.
* libc/string/memmove.c: Likewise.
2010-09-22 03:15:07 +00:00
Christopher Faylor
8f01c77516
* libc/string/strsignal.c (strsignal): Avoid duplicate case statement where
...
SIGPWR == SIGLOST.
2010-05-18 14:52:38 +00:00
Jeff Johnston
eb2c2b6e6e
2010-05-11 Joel Sherrill <joel.sherrill@oarcorp.com>
...
* libc/string/strsignal.c: New file.
* libc/string/Makefile.am: Add support for strsignal.
* libc/string/strings.tex: Ditto.
* libc/string/Makefile.in: Regenerated.
2010-05-11 20:27:20 +00:00
DJ Delorie
948214b000
* libc/Makefile.am (SUBDEFS): Add LIBC_POSIX_DEF.
...
(libc.info): Add posix.texi.
(libc.dvi): Likewise.
(stmp-posix): New.
(posix.texi): New.
(libc_TEXINFOS): Add posix.texi.
* libc/configure.in (LIBC_POSIX_LIB, LIBC_POSIX_DEF): Add
tests.
* libc/libc.texinfo: Include posix.texi
* libc/locale/locale.c: Fix texinfo typo.
* libc/time/strftime.c: Fix texinfo typo.
* libc/configure: Regenerate.
* libc/Makefile.in: Regenerate.
* libc/argz/Makefile.in: Regenerate.
* libc/ctype/Makefile.in: Regenerate.
* libc/errno/Makefile.in: Regenerate.
* libc/iconv/Makefile.in: Regenerate.
* libc/iconv/ccs/Makefile.in: Regenerate.
* libc/iconv/ccs/binary/Makefile.in: Regenerate.
* libc/iconv/ces/Makefile.in: Regenerate.
* libc/iconv/lib/Makefile.in: Regenerate.
* libc/locale/Makefile.in: Regenerate.
* libc/misc/Makefile.in: Regenerate.
* libc/posix/Makefile.in: Regenerate.
* libc/reent/Makefile.in: Regenerate.
* libc/search/Makefile.in: Regenerate.
* libc/signal/Makefile.in: Regenerate.
* libc/stdio/Makefile.in: Regenerate.
* libc/stdio64/Makefile.in: Regenerate.
* libc/stdlib/Makefile.in: Regenerate.
* libc/string/Makefile.in: Regenerate.
* libc/syscalls/Makefile.in: Regenerate.
* libc/time/Makefile.in: Regenerate.
* libc/unix/Makefile.in: Regenerate.
* libc/xdr/Makefile.in: Regenerate.
2010-04-22 23:32:42 +00:00
Corinna Vinschen
3d7c4998ac
Add eXtensible Data Record (XDR) support
...
* configure.host: Build libc/xdr only on cygwin.
* Makefile.am: Install xdr headers.
* libc/configure.in: Support new libc/xdr subdirectory.
* libc/Makefile.am: Support new libc/xdr subdirectory.
* libc/include/rpc/types.h: New.
* libc/include/rpc/xdr.h: New.
* libc/xdr/README: New.
* libc/xdr/Makefile.am: New.
* libc/xdr/dummy.c: New.
* libc/xdr/xdr.c: New.
* libc/xdr/xdr_array.c: New.
* libc/xdr/xdr_float.c: New.
* libc/xdr/xdr_float_vax.c: New.
* libc/xdr/xdr_mem.c: New.
* libc/xdr/xdr_private.c: New.
* libc/xdr/xdr_private.h: New.
* libc/xdr/xdr_rec.c: New.
* libc/xdr/xdr_reference.c: New.
* libc/xdr/xdr_sizeof.c: New.
* libc/xdr/xdr_stdio.c: New.
Regenerate using ac-2.63 and am-1.11.1
* libc/xdr/Makefile.in: New.
* Makefile.in: Regenerate.
* libc/configure: Regenerate.
* libc/Makefile.in: Regenerate.
* libc/argz/Makefile.in: Regenerate.
* libc/ctype/Makefile.in: Regenerate.
* libc/errno/Makefile.in: Regenerate.
* libc/iconv/ccs/binary/Makefile.in: Regenerate.
* libc/iconv/ccs/Makefile.in: Regenerate.
* libc/iconv/ces/Makefile.in: Regenerate.
* libc/iconv/lib/Makefile.in: Regenerate.
* libc/iconv/Makefile.in: Regenerate.
* libc/locale/Makefile.in: Regenerate.
* libc/misc/Makefile.in: Regenerate.
* libc/posix/Makefile.in: Regenerate.
* libc/reent/Makefile.in: Regenerate.
* libc/search/Makefile.in: Regenerate.
* libc/signal/Makefile.in: Regenerate.
* libc/stdio/Makefile.in: Regenerate.
* libc/stdio64/Makefile.in: Regenerate.
* libc/stdlib/Makefile.in: Regenerate.
* libc/string/Makefile.in: Regenerate.
* libc/syscalls/Makefile.in: Regenerate.
* libc/time/Makefile.in: Regenerate.
* libc/unix/Makefile.in: Regenerate.
2010-03-02 12:05:18 +00:00
Jeff Johnston
9035cfbd12
2010-02-24 Charles Wilson <...>
...
Work around issues with new libtool files in ..
* configure.in: Unconditionally call _LT_PROG_ECHO_BACKSLASH.
* iconvdata/configure.in: Ditto.
* libc/configure.in: Ditto.
* libc/machine/configure.in: Ditto.
* libc/machine/i386/configure.in: Ditto.
* libc/sys/configure.in: Ditto.
* libc/sys/linux/configure.in: Ditto.
* libc/sys/linux/linuxthreads/configure.in: Ditto.
* libc/sys/linux/linuxthreads/machine/configure.in: Ditto.
* libc/sys/linux/linuxthreads/machine/i386/configure.in: Ditto.
* libc/sys/linux/machine/configure.in: Ditto.
* libc/sys/linux/machine/i386/configure.in: Ditto.
* libm/configure.in: Ditto.
* libm/machine/configure.in: Ditto.
* libm/machine/i386/configure.in: Ditto.
* libc/machine/sh/configure.in: Ditto. Also, call
AC_NO_EXECUTABLES before NEWLIB_CONFIGURE.
* aclocal.m4: Regenerated.
* configure: Ditto.
* Makefile.in: Ditto.
* doc/aclocal.m4: Ditto.
* doc/Makefile.in: Ditto.
* libc/*/aclocal.m4: Ditto.
* libc/*/Makefile.in: Ditto.
* libc/*/configure: Ditto.
* libm/*/aclocal.m4: Ditto.
* libm/*/Makefile.in: Ditto.
* libm/*/configure: Ditto.
2010-02-24 21:00:08 +00:00
Jeff Johnston
3a2f070f31
2009-10-20 Jeff Johnston <jjohnstn@redhat.com>
...
* configure.host: Don't set -O2 flag in newlib_cflags. Leave
that to CFLAGS.
* acinclude.m4: Don't reset CFLAGS before calling _AC_PROG_CC_G
as it sets the same flags as we are using.
* aclocal.m4: Regenerated.
* configure: Ditto.
* Makefile.in: Ditto.
* iconvdata/aclocal.m4: Ditto.
* iconvdata/configure: Ditto.
* iconvdata/Makefile.in: Ditto.
* doc/aclocal.m4: Ditto.
* doc/configure: Ditto.
* doc/Makefile.in: Ditto.
* libc/aclocal.m4: Ditto.
* libc/configure: Ditto.
* libc/Makefile.in: Ditto.
* libc/*Makefile.in: Ditto.
* libc/*aclocal.m4: Ditto.
* libc/*configure: Ditto.
* libm/*Makefile.in: Ditto.
* libm/*aclocal.m4: Ditto.
* libm/*configure: Ditto.
2009-10-20 22:44:28 +00:00
Jeff Johnston
56dbf99329
2009-08-17 Craig Howland <howland@LGSInnovations.com>
...
* libc/string/wcsncpy.c (wcsncpy): Re-write function based on small
version of strncpy() (fixing two bugs).
2009-08-18 16:03:06 +00:00
Corinna Vinschen
c801709ed5
* libc/string/wcwidth.c: Optimize for speed.
...
* libc/locale/locale.c (lc_ctype_cjk_lang): New static int.
(loadlocale): In case of setting LC_CTYPE, set lc_ctype_cjk_lang
to 1 if the language is "jp", "ko", or "zh", to 0 otherwise.
(__locale_cjk_lang): New function.
* libc/string/local.h (__locale_cjk_lang): Declare.
* libc/string/wcwidth.c: Fix comments.
(__wcwidth): Handle CJK Ambiguous Width characters according
to setting returned by __locale_cjk_lang.
2009-06-03 19:28:22 +00:00
Corinna Vinschen
e17c0a23e3
* libc/ctype/jp2uc.c: Skip all definition if defined __CYGWIN__.
...
(__jp2uc): Change the scope to static function.
* libc/ctype/local.h (_jp2uc): Define as macro if defined __CYGWIN__.
* libc/string/local.h (_jp2uc): Include ../ctype/local.h.
2009-06-02 09:41:06 +00:00
Corinna Vinschen
098a75dc51
* libc/string/local.h: New file.
...
* libc/string/wcswidth.c (wcswidth): Convert japanese wide
characters to Unicode here. Handle surrogate pairs for UTF-16
systems. Call __wcwidth rather than wcwidth.
* libc/string/wcwidth.c: New implementation using Markus Kuhn's
wcwidth implementation for Unicode.
(bisearch): New static function.
(__wcwidth): New function. Take wint_t rather than wchar_t as
parameter to allow full Unicode handling on UTF-16 systems.
Move old wcwidth implementation here for non-multibyte aware
systems.
(wcwidth): Convert japanese wide characters to Unicode here.
Call __wcwidth rather than using iswprint/iswcntrl.
2009-05-15 11:40:28 +00:00
Jeff Johnston
5921804481
2009-04-23 Mike Burgess <wizardsguild@earthlink.net>
...
* libc/string/strcasecmp.c: Optimized rewrite.
* libc/string/strncasecmp.c: Fix description.
* libc/string/strlwr.c: Avoid passing signed char to tolower.
* libc/string/strupr.c: Avoid passing signed char to tolower.
2009-04-23 18:11:22 +00:00
Jeff Johnston
3d66f2c9ae
2009-04-06 Mike Burgess <wizardsguild@earthlink.net>
...
* libc/string/strncasecmp.c: Optimized rewrite.
2009-04-06 22:42:08 +00:00
Jeff Johnston
0b211e340f
2009-03-25 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/string/wcsdup.c: Fix documentation error.
* libc/string/Makefile.am: Fix CHEWOUT files to contain
wcsdup.def rather than wcsdup.
* libc/string/Makefile.in: Regenerated.
2009-03-25 17:57:11 +00:00
Corinna Vinschen
044af76e50
* libc/include/sys/errno.h (ESTRPIPE): Define.
...
* libc/string/strerror.c (strerror): Decode it.
2009-03-15 13:41:46 +00:00
Corinna Vinschen
159a17c8c8
* libc/include/wchar.h (wcsdup, _wcsdup_r): Declare.
...
* libc/string/Makefile.am: Add wcsdup.c.
* libc/string/Makefile.in: Regenerate.
* libc/string/strings.tex: Add wcsdup documentation reference.
* libc/string/wcsdup.c: New file.
2009-03-15 13:39:07 +00:00
Corinna Vinschen
d75c0f75bc
* libc/time/time.tex (wcsftime.def): Include.
...
* libc/time/wcsftime.c: Clean up documentation a little.
2009-03-12 15:34:57 +00:00
Corinna Vinschen
dc48005c28
* libc/include/wchar.h (wcscasecmp, wcsncasecmp): Declare.
...
* libc/string/Makefile.am: Add wcscasecmp.c, wcsncasecmp.c
* libc/stdio/Makefile.in: Regenerate.
* libc/string/strings.tex: Add new documentation references.
* libc/string/wcscasecmp.c: New file.
* libc/string/wcsncasecmp.c: New file.
2009-03-11 12:57:53 +00:00
Jeff Johnston
a1631dba6c
2008-12-12 Craig Howland <howland@LGSInnovations.com>
...
* libc/include/wchar.h: Added wcstok() declaration.
* libc/string/wcstok.c: New file, implementing wcstok.
* libc/string/Makefile.am: Add wcstok support.
* libc/string/wcstrings.tex: Ditto.
* libc/string/Makefile.in: Regenerated.
2008-12-12 19:47:05 +00:00
Jeff Johnston
7dd0c33097
2008-12-11 Craig Howland <howland@LGSInnovations.com>
...
* libc/include/sys/lock.h: Add void cast to avoid "statement has no
effect" warnings from gcc.
* libc/include/sys/stdio.h: Ditto.
* libc/include/sys/time.h: Correct gettimeofday() prototype.
* libc/stdlib/__exp10.c: Add #include "std.h" for function prototype.
* libc/stdlib/__ten_mu.c: Ditto.
* libc/stdlib/std.h: Correct __exp10's ANSI prototype.
* libc/stdlib/ldtoa.c: Change eiisinf definition to ANSI form. (Are
already others in file without _ansi method, so did not bother.)
* libc/stdlib/system.c: Use _ansi forms for function prototypes and
definitions.
* libc/time/mktime.c: Ditto.
* libc/misc/__dprintf.c: Ditto.
* libc/include/stdio.h: Add function prototypes for _fgetc_r,
_fgetpos_r, _fsetpos_r, _freopen_r, _rewind_r, freopen64, _freopen64_r,
_funopen_r, and _fopencookie_r.
* libc/include/reent.h: Add function prototype for _stat64_r, align
_execve_r prototype with POSIX definition for execve.
* libc/reent/execr.c: Align function prototype with POSIX definition.
* libc/stdio/asniprintf.c: Add #include "local.h".
* libc/stdio/vasniprintf.c: Ditto.
* libc/stdio/fread.c: Remove unused variable newcount.
* libc/stdio/local.h: Add function prototype for __sccl.
* libc/stdio/open_memstream.c: Remove unused variable flags.
* libc/stdio/vfscanf.c: Proper prototyping for ccfn, remove prototype
for __sccl since now in local.h.
* libc/string/memcpy.c: Add #include <string.h> (for real and for
traditional synopsis), remove extraneous stddef.h and limits.h.
* libc/syscalls/sysclose.c: Add #include <unistd.h>.
* libc/syscalls/sysfork.c: Ditto.
* libc/syscalls/sysgetpid.c: Ditto.
* libc/syscalls/sysexecve.c: Add #include <unistd.h>, align function
prototype with POSIX definition.
* libc/syscalls/sysfstat.c: Add #include <sys/stat.h>.
* libc/syscalls/sysgettod.c: Correct sys/times.h to sys/time.h.
* libc/syscalls/syskill.c: Add #include <signal.h>.
* libc/syscalls/syslink.c: Add #include <unistd.h>, fix prototype.
* libc/syscalls/sysunlink.c: Ditto.
* libc/syscalls/sysstat.c: Add #include <sys/stat.h>, fix prototype.
* libc/syscalls/syswait.c: Add #include <sys/wait.h>, fix prototype.
2008-12-11 17:27:56 +00:00
Jeff Johnston
015b86d725
2008-10-02 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/string/str-two-way.h (critical_factorization): Cast the index
operation to ensure unsigned rollover occurs when adding to SIZE_MAX.
2008-10-02 20:12:34 +00:00
Steve Ellcey
fab8d8d808
* configure: Regenerate for new libtool.
...
* aclocal.m4: Ditto.
* Makefile.in: Ditto.
* newlib.hin: Ditto.
* doc/Makefile.in: Ditto.
* doc/configure: Ditto.
* iconvdata/Makefile.in: Ditto.
* iconvdata/aclocal.m4: Ditto.
* iconvdata/configure: Ditto.
* libc/Makefile.in: Ditto.
* libc/aclocal.m4: Ditto.
* libc/configure: Ditto.
* libc/argz/Makefile.in: Ditto.
* libc/ctype/Makefile.in: Ditto.
* libc/errno/Makefile.in: Ditto.
* libc/iconv/Makefile.in: Ditto.
* libc/iconv/ccs/Makefile.in: Ditto.
* libc/iconv/ccs/binary/Makefile.in: Ditto.
* libc/iconv/ces/Makefile.in: Ditto.
* libc/iconv/lib/Makefile.in: Ditto.
* libc/locale/Makefile.in: Ditto.
* libc/machine/Makefile.in: Ditto.
* libc/machine/aclocal.m4: Ditto.
* libc/machine/configure: Ditto.
* libc/machine/a29k/Makefile.in: Ditto.
* libc/machine/a29k/configure: Ditto.
* libc/machine/arm/Makefile.in: Ditto.
* libc/machine/arm/configure: Ditto.
* libc/machine/bfin/Makefile.in: Ditto.
* libc/machine/bfin/configure: Ditto.
* libc/machine/cris/Makefile.in: Ditto.
* libc/machine/cris/configure: Ditto.
* libc/machine/crx/Makefile.in: Ditto.
* libc/machine/crx/configure: Ditto.
* libc/machine/d10v/Makefile.in: Ditto.
* libc/machine/d10v/configure: Ditto.
* libc/machine/d30v/Makefile.in: Ditto.
* libc/machine/d30v/configure: Ditto.
* libc/machine/fr30/Makefile.in: Ditto.
* libc/machine/fr30/configure: Ditto.
* libc/machine/frv/Makefile.in: Ditto.
* libc/machine/frv/configure: Ditto.
* libc/machine/h8300/Makefile.in: Ditto.
* libc/machine/h8300/configure: Ditto.
* libc/machine/h8500/Makefile.in: Ditto.
* libc/machine/h8500/configure: Ditto.
* libc/machine/hppa/Makefile.in: Ditto.
* libc/machine/hppa/configure: Ditto.
* libc/machine/i386/Makefile.in: Ditto.
* libc/machine/i386/aclocal.m4: Ditto.
* libc/machine/i386/configure: Ditto.
* libc/machine/i960/Makefile.in: Ditto.
* libc/machine/i960/configure: Ditto.
* libc/machine/iq2000/Makefile.in: Ditto.
* libc/machine/iq2000/configure: Ditto.
* libc/machine/m32c/Makefile.in: Ditto.
* libc/machine/m32c/configure: Ditto.
* libc/machine/m32r/Makefile.in: Ditto.
* libc/machine/m32r/configure: Ditto.
* libc/machine/m68hc11/Makefile.in: Ditto.
* libc/machine/m68hc11/configure: Ditto.
* libc/machine/m68k/Makefile.in: Ditto.
* libc/machine/m68k/configure: Ditto.
* libc/machine/m88k/Makefile.in: Ditto.
* libc/machine/m88k/configure: Ditto.
* libc/machine/mep/Makefile.in: Ditto.
* libc/machine/mep/configure: Ditto.
* libc/machine/mips/Makefile.in: Ditto.
* libc/machine/mips/configure: Ditto.
* libc/machine/mn10200/Makefile.in: Ditto.
* libc/machine/mn10200/configure: Ditto.
* libc/machine/mn10300/Makefile.in: Ditto.
* libc/machine/mn10300/configure: Ditto.
* libc/machine/mt/Makefile.in: Ditto.
* libc/machine/mt/configure: Ditto.
* libc/machine/necv70/Makefile.in: Ditto.
* libc/machine/necv70/configure: Ditto.
* libc/machine/powerpc/Makefile.in: Ditto.
* libc/machine/powerpc/configure: Ditto.
* libc/machine/sh/Makefile.in: Ditto.
* libc/machine/sh/configure: Ditto.
* libc/machine/sparc/Makefile.in: Ditto.
* libc/machine/sparc/configure: Ditto.
* libc/machine/spu/Makefile.in: Ditto.
* libc/machine/spu/configure: Ditto.
* libc/machine/tic4x/Makefile.in: Ditto.
* libc/machine/tic4x/configure: Ditto.
* libc/machine/tic80/Makefile.in: Ditto.
* libc/machine/tic80/configure: Ditto.
* libc/machine/v850/Makefile.in: Ditto.
* libc/machine/v850/configure: Ditto.
* libc/machine/w65/Makefile.in: Ditto.
* libc/machine/w65/configure: Ditto.
* libc/machine/x86_64/Makefile.in: Ditto.
* libc/machine/x86_64/configure: Ditto.
* libc/machine/xscale/Makefile.in: Ditto.
* libc/machine/xscale/configure: Ditto.
* libc/machine/xstormy16/Makefile.in: Ditto.
* libc/machine/xstormy16/configure: Ditto.
* libc/machine/z8k/Makefile.in: Ditto.
* libc/machine/z8k/configure: Ditto.
* libc/misc/Makefile.in: Ditto.
* libc/posix/Makefile.in: Ditto.
* libc/reent/Makefile.in: Ditto.
* libc/search/Makefile.in: Ditto.
* libc/signal/Makefile.in: Ditto.
* libc/stdio/Makefile.in: Ditto.
* libc/stdio64/Makefile.in: Ditto.
* libc/stdlib/Makefile.in: Ditto.
* libc/string/Makefile.in: Ditto.
* libc/sys/Makefile.in: Ditto.
* libc/sys/aclocal.m4: Ditto.
* libc/sys/configure: Ditto.
* libc/sys/a29khif/Makefile.in: Ditto.
* libc/sys/a29khif/configure: Ditto.
* libc/sys/arc/Makefile.in: Ditto.
* libc/sys/arc/configure: Ditto.
* libc/sys/arm/Makefile.in: Ditto.
* libc/sys/arm/configure: Ditto.
* libc/sys/d10v/Makefile.in: Ditto.
* libc/sys/d10v/configure: Ditto.
* libc/sys/decstation/Makefile.in: Ditto.
* libc/sys/decstation/configure: Ditto.
* libc/sys/h8300hms/Makefile.in: Ditto.
* libc/sys/h8300hms/configure: Ditto.
* libc/sys/h8500hms/Makefile.in: Ditto.
* libc/sys/h8500hms/configure: Ditto.
* libc/sys/linux/Makefile.in: Ditto.
* libc/sys/linux/aclocal.m4: Ditto.
* libc/sys/linux/configure: Ditto.
* libc/sys/linux/argp/Makefile.in: Ditto.
* libc/sys/linux/cmath/Makefile.in: Ditto.
* libc/sys/linux/dl/Makefile.in: Ditto.
* libc/sys/linux/iconv/Makefile.in: Ditto.
* libc/sys/linux/intl/Makefile.in: Ditto.
* libc/sys/linux/linuxthreads/Makefile.in: Ditto.
* libc/sys/linux/linuxthreads/aclocal.m4: Ditto.
* libc/sys/linux/linuxthreads/configure: Ditto.
* libc/sys/linux/linuxthreads/machine/Makefile.in: Ditto.
* libc/sys/linux/linuxthreads/machine/aclocal.m4: Ditto.
* libc/sys/linux/linuxthreads/machine/configure: Ditto.
* libc/sys/linux/linuxthreads/machine/i386/Makefile.in: Ditto.
* libc/sys/linux/linuxthreads/machine/i386/aclocal.m4: Ditto.
* libc/sys/linux/linuxthreads/machine/i386/configure: Ditto.
* libc/sys/linux/machine/Makefile.in: Ditto.
* libc/sys/linux/machine/aclocal.m4: Ditto.
* libc/sys/linux/machine/configure: Ditto.
* libc/sys/linux/machine/i386/Makefile.in: Ditto.
* libc/sys/linux/machine/i386/aclocal.m4: Ditto.
* libc/sys/linux/machine/i386/configure: Ditto.
* libc/sys/linux/net/Makefile.in: Ditto.
* libc/sys/linux/stdlib/Makefile.in: Ditto.
* libc/sys/m88kbug/Makefile.in: Ditto.
* libc/sys/m88kbug/configure: Ditto.
* libc/sys/mmixware/Makefile.in: Ditto.
* libc/sys/mmixware/configure: Ditto.
* libc/sys/netware/Makefile.in: Ditto.
* libc/sys/netware/configure: Ditto.
* libc/sys/rdos/Makefile.in: Ditto.
* libc/sys/rdos/configure: Ditto.
* libc/sys/rtems/Makefile.in: Ditto.
* libc/sys/rtems/configure: Ditto.
* libc/sys/sh/Makefile.in: Ditto.
* libc/sys/sh/configure: Ditto.
* libc/sys/sparc64/Makefile.in: Ditto.
* libc/sys/sparc64/configure: Ditto.
* libc/sys/sun4/Makefile.in: Ditto.
* libc/sys/sun4/configure: Ditto.
* libc/sys/sysmec/Makefile.in: Ditto.
* libc/sys/sysmec/configure: Ditto.
* libc/sys/sysnec810/Makefile.in: Ditto.
* libc/sys/sysnec810/configure: Ditto.
* libc/sys/sysnecv850/Makefile.in: Ditto.
* libc/sys/sysnecv850/configure: Ditto.
* libc/sys/sysvi386/Makefile.in: Ditto.
* libc/sys/sysvi386/configure: Ditto.
* libc/sys/sysvnecv70/Makefile.in: Ditto.
* libc/sys/sysvnecv70/configure: Ditto.
* libc/sys/tic80/Makefile.in: Ditto.
* libc/sys/tic80/configure: Ditto.
* libc/sys/w65/Makefile.in: Ditto.
* libc/sys/w65/configure: Ditto.
* libc/sys/z8ksim/Makefile.in: Ditto.
* libc/sys/z8ksim/configure: Ditto.
* libc/syscalls/Makefile.in: Ditto.
* libc/time/Makefile.in: Ditto.
* libc/unix/Makefile.in: Ditto.
* libm/Makefile.in: Ditto.
* libm/aclocal.m4: Ditto.
* libm/configure: Ditto.
* libm/common/Makefile.in: Ditto.
* libm/machine/Makefile.in: Ditto.
* libm/machine/aclocal.m4: Ditto.
* libm/machine/configure: Ditto.
* libm/machine/i386/Makefile.in: Ditto.
* libm/machine/i386/aclocal.m4: Ditto.
* libm/machine/i386/configure: Ditto.
* libm/machine/spu/Makefile.in: Ditto.
* libm/machine/spu/configure: Ditto.
* libm/math/Makefile.in: Ditto.
* libm/mathfp/Makefile.in: Ditto.
2008-09-29 15:40:48 +00:00
Jeff Johnston
29212ab3cd
2008-09-19 Eric Blake <ebb9@byu.net>
...
Supply missing POSIX errno values.
* libc/include/sys/errno.h (ENOTRECOVERABLE, EOWNERDEAD): Define.
* libc/string/strerror.c (strerror): Decode them, and ECANCELED.
2008-09-19 16:11:35 +00:00
Jeff Johnston
676ae29038
2008-05-27 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/string/memset.c: Fix documented prototype to remove
erroneous const attribute on first parameter.
2008-05-27 18:44:40 +00:00
Jeff Johnston
70bff2d503
2008-05-26 Eric Blake <ebb9@byu.net>
...
Optimize the generic and x86 memchr.
* libc/string/memchr.c (memchr) [!__OPTIMIZE_SIZE__]:
Pre-align pointer so unaligned searches aren't penalized.
* libc/machine/i386/memchr.S (memchr) [!__OPTIMIZE_SIZE__]: Word
operations are faster than repnz byte searches.
2008-05-26 23:31:08 +00:00
Jeff Johnston
a6bd72a278
2008-05-26 Eric Blake <ebb9@byu.net>
...
Optimize the generic and x86 memset.
* libc/string/memset.c (memset) [!__OPTIMIZE_SIZE__]:
Pre-align pointer so unaligned stores aren't penalized.
* libc/machine/i386/memset.S (memset): [!__OPTIMIZE_SIZE__]:
Pre-align pointer so unaligned stores aren't penalized. Prefer
8-byte over 4-byte alignment. Reduce register pressure.
2008-05-26 23:23:15 +00:00
Jeff Johnston
cae28869c1
2008-05-26 Eric Blake <ebb9@byu.net>
...
Optimize the generic and x86 strlen.
* libc/string/strlen.c (strlen) [!__OPTIMIZE_SIZE__]: Pre-align
data so unaligned searches aren't penalized.
* libc/machine/i386/strlen.S (strlen) [!__OPTIMIZE_SIZE__]:
Word operations are faster than repnz byte searches.
2008-05-26 22:56:14 +00:00
Eric Blake
ae47b14a12
Optimize the generic strchr.
...
* libc/string/strchr.c (strchr) [!__OPTIMIZE_SIZE__]: Pre-align
data so unaligned searches aren't penalized. Special-case
searching for 0.
2008-05-22 02:31:46 +00:00
Eric Blake
dc26a86fbb
* libc/string/Makefile.am (ELIX_2_SOURCES): Fix definition.
...
* libc/string/Makefile: Regenerate.
2008-01-15 13:35:33 +00:00
Eric Blake
40617efc8b
Make strstr and strcasestr O(n), not O(n^2); add memmem.
...
* libc/string/str-two-way.h: New file.
* libc/string/memmem.c (memmem): New file.
* libc/include/string.h (memmem): Declare for all platforms.
* libc/string/strstr.c (strstr): Provide O(n) implementation when
not optimizing for space.
* libc/string/strcasestr.c (strcasestr): Likewise.
* libc/string/Makefile.am (ELIX_SOURCES): Rename to...
(ELIX_2_SOURCES): ...this.
(ELIX_4_SOURCES): New category, for memmem.
(lib_a_SOURCES, libstring_la_SOURCES): Build new file.
(CHEWOUT_FILES): Build documentation for memmem.
* libc/string/strings.tex: Include new docs.
2008-01-12 04:25:55 +00:00
Jeff Johnston
6af69de3d3
2007-12-19 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/string/strcasestr.c: Remove id macro.
* libc/sys/linux/linuxthreads/attr.c: Fix up sched_priority
field reference to be __sched_priority.
* libc/sys/linux/linuxthreads/joinrace.c: Ditto.
* libc/sys/linux/linuxthreads/manager.c: Ditto.
* libc/sys/linux/stdlib/collate.c: Remove id macro.
* libc/sys/linux/stdlib/collcmp.c: Ditto.
* libc/sys/linux/stdlib/engine.c: Ditto.
* libc/sys/linux/stdlib/fnmatch.c: Ditto.
* libc/sys/linux/stdlib/glob.c: Ditto.
* libc/sys/linux/stdlib/reallocf.c: Ditto.
* libc/sys/linux/stdlib/regcomp.c: Ditto.
* libc/sys/linux/stdlib/regerror.c: Ditto.
* libc/sys/linux/stdlib/regexec.c: Ditto.
* libc/sys/linux/stdlib/regfree.c: Ditto.
* libc/sys/linux/sys/cdefs.h: Replace with latest version.
* libc/sys/linux/include/argp.h: Ditto.
* libc/sys/linux/sys/libc-lock.h: New file.
* libc/sys/linux/sys/stdint.h: Ditto.
* libc/sys/linux/include/sched.h: New file.
2007-12-19 22:27:00 +00:00
Corinna Vinschen
ac26b72723
* libc/include/wchar.h: Add prototypes for wcpcpy and wcpncpy.
...
* libc/string/Makefile.am (ELIX_SOURCES): Add wcpcpy.c and
wcpncpy.c.
(CHEWOUT_FILES): Add wcpcpy.def and wcpncpy.def.
* libc/string/Makefile.in: Regenerate.
* libc/string/wcpcpy.c: New file.
* libc/string/wcpncpy.c: New file.
* libc/string/wcstrings.tex: Add wcpcpy and wcpncpy.
2007-12-19 17:33:12 +00:00
Corinna Vinschen
a37215120b
* libc/include/wchar.h: Add prototype for wcsxfrm.
...
* libc/string/Makefile.am (GENERAL_SOURCES): Add wcsxfrm.c.
(CHEWOUT_FILES): Add wcsxfrm.def.
* libc/string/Makefile.in: Regenerate.
* libc/string/wcsxfrm.c: New file.
* libc/string/wcstrings.tex: Add wcsxfrm.
2007-07-04 16:18:34 +00:00
Corinna Vinschen
5d8b97a694
* libc/include/string.h: Add prototypes for stpcpy and stpncpy.
...
* libc/string/Makefile.am (ELIX_SOURCES): Add stpcpy.c and
stpncpy.c.
(CHEWOUT_FILES): Add stpcpy.def and stpncpy.def.
* libc/string/Makefile.in: Regenerate.
* libc/string/stpcpy.c: New file.
* libc/string/stpncpy.c: New file.
* libc/string/strings.tex: Add stpcpy and stpncpy.
2007-06-28 17:07:23 +00:00