summaryrefslogtreecommitdiffstats
path: root/newlib/libc/stdlib
Commit message (Collapse)AuthorAgeFilesLines
* 2009-04-24 Jeff johnston <jjohnstn@redhat.com>Jeff Johnston2009-04-241-9/+0
| | | | | | | | | | | | | * configure.in: Add configuration test for long double equals dbl and set flag _LDBL_EQ_DBL if true. * configure: Regenerated. * newlib.hin: Add _LDBL_EQ_DBL flag. * libc/include/math.h: Use _LDBL_EQ_DBL flag instead of _HAVE_LDBL_MATH. * libc/include/stdlib.h: Use _LDBL_EQ_DBL flag instead of _HAVE_LDBL_STDLIB. * libc/common/local.h: Remove _LDBL_EQ_DBL flag setting. * libc/stdlib/local.h: Ditto.
* 2009-04-23 Paul Brook <paul@codesourcery.com>Jeff Johnston2009-04-232-1/+18
| | | | | | | | | Kazu Hirata <kazu@codesourcery.com> * libc/stdlib/__atexit.c (__register_exitproc): Use weak reference to malloc. Allocate dynamically only if it is present. * libc/stdlib/__call_atexit.c (__call_exitprocs): Use weak reference to free. Call free only if it is present.
* * libc/stdio/local.h (__chclass, __state_table, __action_table):Corinna Vinschen2009-04-221-2/+2
| | | | | Add extern to the declarations. * libc/stdlib/local.h (__iso_8859_conv, __cp_conv): Likewise.
* 2009-04-17 Jeff johnston <jjohnstn@redhat.com>Jeff Johnston2009-04-173-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libc/include/machine/ieeefp.h (_LDBL_EQ_DBL): Remove. * libc/stdlib/local.h (_LDBL_EQ_DBL): Add. * libc/stdlib/strtold.c: Include local.h. * libc/stdlib/wcstold.c: Likewise. * libm/common/atanl.c: Likewise. * libm/common/cosl.c: Likewise. * libm/common/sinl.c: Likewise. * libm/common/modfl.c: Likewise. * libm/common/frexpl.c: Likewise. * libm/common/tanhl.c: Likewise. * libm/common/tanl.c: Likewise. * libm/common/expm1l.c: Likewise. * libm/common/log1pl.c: Likewise. * libm/common/ceill.c: Likewise. * libm/common/fabsl.c: Likewise. * libm/common/floorl.c: Likewise. * libm/common/acosl.c: Likewise. * libm/common/asinl.c: Likewise. * libm/common/atan2l.c: Likewise. * libm/common/coshl.c: Likewise. * libm/common/expl.c: Likewise. * libm/common/fmodl.c: Likewise. * libm/common/hypotl.c: Likewise. * libm/common/ldexpl.c: Likewise. * libm/common/log10l.c: Likewise. * libm/common/logl.c: Likewise. * libm/common/powl.c: Likewise. * libm/common/sqrtl.c: Likewise. * libm/common/copysignl.c: Likewise. * libm/common/ilogbl.c: Likewise. * libm/common/nanl.c: Likewise. * libm/common/cbrtl.c: Likewise. * libm/common/asinhl.c: Likewise. * libm/common/nextafterl.c: Likewise. * libm/common/rintl.c: Likewise. * libm/common/scalbnl.c: Likewise. * libm/common/exp2l.c: Likewise. * libm/common/fdiml.c: Likewise. * libm/common/fmal.c: Likewise. * libm/common/fmaxl.c: Likewise. * libm/common/fminl.c: Likewise. * libm/common/lrintl.c: Likewise. * libm/common/lroundl.c: Likewise. * libm/common/nearbyintl.c: Likewise. * libm/common/remquol.c: Likewise. * libm/common/roundl.c: Likewise. * libm/common/scalblnl.c: Likewise. * libm/common/truncl.c: Likewise. * libm/common/acoshl.c: Likewise. * libm/common/atanhl.c: Likewise. * libm/common/erfcl.c: Likewise. * libm/common/erfl.c: Likewise. * libm/common/lgammal.c: Likewise. * libm/common/remainderl.c: Likewise. * libm/common/tgammal.c: Likewise. * libm/common/sinhl.c: Likewise. * libm/common/llroundl.c: Likewise. * libm/common/llrintl.c: Likewise. * libm/common/local.h: New file with _LDBL_EQ_DBL macro.
* 2009-04-16 Ken Werner <ken.werner@de.ibm.com>Jeff Johnston2009-04-164-95/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libm/libm.texinfo: Add long double function support chapter. * libc/include/machine/ieeefp.h: Add _LDBL_EQ_DBL define. * libc/include/stdlib.h: Include <machine/ieeefp.h>. (strtold, wcstold): Declare. * libc/stdlib/strtold.c: New File. * libc/stdlib/wcstold.c: Likewise. * libc/configure.in: Add long double check. * libc/configure: Regenerate. * libc/stdlib/Makefile.am: Add strtold.c and wcstold.c. * libc/stdlib/Makefile.in: Regenerate. * libc/include/math.h (atanl, cosl, sinl, tanl, tanhl): Declare. (frexpl, modfl, ceill, fabsl, floorl, log1pl, expm1l, acosl): Ditto. (asinl, atan2l, coshl, sinhl, expl, ldexpl, logl, log10l, powl): Ditto. (sqrtl, fmodl, hypotl, copysignl, nanl, ilogbl, asinhl, cbrt): Ditto. (nextafterl, rintl, scalbnl, exp2l, scalblnl, tgammal): Ditto. (nearbyintl, lrintl, llrintl, roundl, lroundl, llround): Ditto. (llroundl, truncl, remquol, fdiml, fmaxl, fminl, fmal, acoshl): Ditto. (atanhl, remainderl, lgammal, erfl, erfcl): Ditto. * libm/common/atanl.c: New File. * libm/common/cosl.c: Likewise. * libm/common/sinl.c: Likewise. * libm/common/modfl.c: Likewise. * libm/common/frexpl.c: Likewise. * libm/common/tanhl.c: Likewise. * libm/common/tanl.c: Likewise. * libm/common/expm1l.c: Likewise. * libm/common/log1pl.c: Likewise. * libm/common/ceill.c: Likewise. * libm/common/fabsl.c: Likewise. * libm/common/floorl.c: Likewise. * libm/common/acosl.c: Likewise. * libm/common/asinl.c: Likewise. * libm/common/atan2l.c: Likewise. * libm/common/coshl.c: Likewise. * libm/common/expl.c: Likewise. * libm/common/fmodl.c: Likewise. * libm/common/hypotl.c: Likewise. * libm/common/ldexpl.c: Likewise. * libm/common/log10l.c: Likewise. * libm/common/logl.c: Likewise. * libm/common/powl.c: Likewise. * libm/common/sqrtl.c: Likewise. * libm/common/copysignl.c: Likewise. * libm/common/ilogbl.c: Likewise. * libm/common/nanl.c: Likewise. * libm/common/cbrtl.c: Likewise. * libm/common/asinhl.c: Likewise. * libm/common/nextafterl.c: Likewise. * libm/common/rintl.c: Likewise. * libm/common/scalbnl.c: Likewise. * libm/common/exp2l.c: Likewise. * libm/common/fdiml.c: Likewise. * libm/common/fmal.c: Likewise. * libm/common/fmaxl.c: Likewise. * libm/common/fminl.c: Likewise. * libm/common/lrintl.c: Likewise. * libm/common/lroundl.c: Likewise. * libm/common/nearbyintl.c: Likewise. * libm/common/remquol.c: Likewise. * libm/common/roundl.c: Likewise. * libm/common/scalblnl.c: Likewise. * libm/common/truncl.c: Likewise. * libm/common/acoshl.c: Likewise. * libm/common/atanhl.c: Likewise. * libm/common/erfcl.c: Likewise. * libm/common/erfl.c: Likewise. * libm/common/lgammal.c: Likewise. * libm/common/remainderl.c: Likewise. * libm/common/tgammal.c: Likewise. * libm/common/sinhl.c: Likewise. * libm/common/llroundl.c: Likewise. * libm/configure.in: Add long double check. * libm/configure: Regenerate. * libm/common/Makefile.am: Add new files. * libm/common/Makefile.in: Regenerate.
* * libc/stdlib/local.h (__mbtowc): Declare extern.Corinna Vinschen2009-04-091-3/+4
| | | | (__wctomb): Ditto.
* * libc/stdlib/mbctype.h (_iseucjp1): Like _iseucjp, but alsoCorinna Vinschen2009-04-093-5/+39
| | | | | | | | | recognizes 0x8e and 0x8f lead bytes. (_iseucjp2): Rename from _iseucjp. * libc/stdlib/mbtowc_r.c (__eucjp_mbtowc): Convert JIS-X-0212 triplebyte sequences as well. * libc/stdlib/wctomb_r.c (__eucjp_wctomb): Convert to JIS-X-0212 triplebyte sequences as well.
* * libc/stdlib/wcstombs.c: Fix datatypes in documentation.Corinna Vinschen2009-04-041-3/+3
|
* Revert erroneously checked in files.Corinna Vinschen2009-03-263-36/+23
|
* * libc/ctype/iswalpha.c: Handle all wchar_t as unicode onCorinna Vinschen2009-03-249-525/+1620
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _MB_CAPABLE systems. * libc/ctype/iswblank.c: Ditto. * libc/ctype/iswcntrl.c: Ditto. * libc/ctype/iswprint.c: Ditto. * libc/ctype/iswpunct.c: Ditto. * libc/ctype/iswspace.c: Ditto. * libc/ctype/jp2uc.c (__jp2uc): On Cygwin, just return c. Explain why. * libc/ctype/towlower.c: Ditto. * libc/ctype/towupper.c: Ditto. * libc/include/sys/config.h: Define _MB_EXTENDED_CHARSETS_ISO and _MB_EXTENDED_CHARSETS_WINDOWS if _MB_EXTENDED_CHARSETS_ALL is defined. Define _MB_EXTENDED_CHARSETS_ALL on Cygwin only for now. * libc/include/sys/reent.h (struct _reent): Mark _current_category and _current_locale as unused. * libc/locale/locale.c: Add new charset support to documentation. Include ../stdio/local.h from here. (lc_ctype_charset): Set to "ASCII" by default. (lc_message_charset): Ditto. (_setlocale_r): Don't set _current_category and _current_locale. (loadlocale): Add Cygwin codepage support. On _MB_CAPABLE systems, set __mbtowc and __wctomb function pointers to function corresponding with current charset. Don't allow non-existant ISO-8859-12 charset. Add support for Windows singlebyte codepages. On Cygwin, add support for GBK, CP949, and BIG5. On Cygwin, call __set_ctype() in case the catorgy is LC_CTYPE. Don't set _current_category and _current_locale. * libc/stdlib/Makefile.am (GENERAL_SOURCES): Add sb_charsets.c. * libc/stdlib/Makefile.in: Regenerate. * libc/stdlib/local.h: Add prototype for __locale_charset. Add prototypes for __mbtowc and __wctomb pointers. Add prototypes for charset-specific _wctomb_r and _mbtowc_r functions. Declare tables and functions from sb_charsets.c. * libc/stdlib/mbtowc_r.c (__mbtowc): Define. Set to __ascii_mbtowc by default. (_mbtowc_r): Just call __mbtowc from here. (__ascii_mbtowc): New function. (__iso_mbtowc): New function. (__cp_mbtowc): New function. (__utf8_mbtowc): New function. (__sjis_mbtowc): New function. Disable on Cygwin. (__eucjp_mbtowc): New function. Disable on Cygwin. (__jis_mbtowc): New function. Disable on Cygwin. * libc/stdlib/sb_charsets.c: New file, adding singlebyte to UTF conversion tables for all ISO and CP charsets. (__iso_8859_index): New function. (__cp_index): New function. * libc/stdlib/wctomb_r.c (__wctomb): Define. Set to __ascii_wctomb by default. (_wctomb_r): Just call __wctomb from here. (__ascii_wctomb): New function. (__utf8_wctomb): New function. (__sjis_wctomb): New function. Disable on Cygwin. (__eucjp_wctomb): New function. Disable on Cygwin. (__jis_wctomb): New function. Disable on Cygwin. (__iso_wctomb): New function. (__cp_wctomb): New function.
* * libc/stdlib/mbtowc_r.c (_mbtowc_r): Return EILSEQ in case of anCorinna Vinschen2009-03-192-16/+61
| | | | | | | | invalid character sequence. * libc/stdlib/mbtowc_r.c (_mbtowc_r): Fix compiler warning due to missing declaration of __locale_charset. * libc/stdlib/wctomb_r.c (_wctomb_r): Ditto.
* * libc/stdlib/mbstowcs_r.c (_mbstowcs_r): Handle NULL destinationCorinna Vinschen2009-03-171-8/+12
| | | | string correctly.
* * libc/locale/locale.c (_setlocale_r): New implementation based onCorinna Vinschen2009-03-032-14/+10
| | | | | | | | | | | | | | | | | | | | | | | FreeBSD's setlocale. (currentlocale): New helper function. (loadlocale): Ditto. (__locale_charset): New function. (__locale_msgcharset): Rename from __locale_charset. * libc/ctype/local.h (__lc_ctype): Remove declaration. (__locale_charset): Declare. * libc/ctype/iswalpha.c (iswalpha): Call __locale_charset instead of using __lc_ctype directly. Only compare against the charset alone. * libc/ctype/iswblank.c (iswblank): Ditto. * libc/ctype/iswcntrl.c (iswcntrl): Ditto. * libc/ctype/iswprint.c (iswprint): Ditto. * libc/ctype/iswpunct.c (iswpunct): Ditto. * libc/ctype/iswspace.c (iswspace): Ditto. * libc/ctype/towlower.c (towlower): Ditto. * libc/ctype/towupper.c (towupper): Ditto. * libc/stdlib/mbtowc_r.c (_mbtowc_r): Ditto. * libc/stdlib/wctomb_r.c (_wctomb_r): Ditto. * libc/sys/linux/intl/loadmsgcat.c (_nl_init_domain_conv): Call __locale_msgcharset instead of __locale_charset.
* 2009-03-02 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2009-03-022-1/+8
| | | | | | * libc/stdlib/wctomb_r.c (_wctomb_r): When checking single-byte charset, cast wchar to size_t in case wchar_t is signed. * libc/stdlib/wctomb.c (wctomb): Add similar single-byte check.
* 2009-03-02 Corinna Vinschen <corinna@vinschen.de>Jeff Johnston2009-03-021-6/+32
| | | | | | * libc/stdlib/wctomb_r.c (_wctomb_r): Return EILSEQ in case of an invalid wchar. Return -1 if wchar doesn't fit into singlebyte value in case of using a singlebyte charset.
* 2009-02-25 Brooks Moses <brooks@codesourcery.com>Jeff Johnston2009-02-254-3/+7
| | | | | | | | | | * libc/stdlib/Makefile.am (CHEWOUT_FILES): Add mbsnrtowcs.def, wcsnrtombs.def. * libc/stdlib/Makefile.in: Regenerate. * libc/stdlib/stdlib.tex (@menu): Use correct section names for mbsrtowcs, wcsrtombs. * libc/stdlib/wcstod.c: Remove stray character in documentation.
* * mbtowc_r.c (_mbtowc_r): Remove conversion of 5 and 6 byte UTF-8Corinna Vinschen2009-02-252-144/+70
| | | | | | | | sequences since they are invalid in the Unicode standard. Handle surrogate pairs in case of wchar_t == UTF-16. * wctomb_r.c (_wctomb_r): Don't convert invalid Unicode wchar_t values beyond 0x10ffff into UTF-8 chars. Handle surrogate pairs in case of wchar_t == UTF-16.
* * libc/include/wchar.h (mbsnrtowcs): Declare.Corinna Vinschen2009-02-197-123/+400
| | | | | | | | | | | | | | | | | | (_mbsnrtowcs_r): Declare. (wcsnrtombs): Declare. (_wcsnrtombs_r): Declare. * libc/stdlib/Makefile.am (ELIX_2_SOURCES): Add mbsnrtowcs.c and wcsnrtombs.c. * libc/stdlib/Makefile.in: Regenerate. * libc/stdlib/mbsnrtowcs.c: New file, implementing _mbsnrtowcs_r and mbsnrtowcs. Document mbsnrtowcs and mbsrtowcs. * libc/stdlib/mbsrtowcs.c (_mbsrtowcs_r): Just call _mbsnrtowcs_r. (mbsrtowcs): Ditto. * libc/stdlib/wcsnrtombs.c: New file, implementing _wcsnrtombs_r and wcsnrtombs. Document wcsrtombs and wcsnrtombs. * libc/stdlib/wcsrtombs.c (_wcsrtombs_r): Just call _wcsnrtombs_r. (wcsrtombs): Ditto. * libc/stdlib/stdlib.tex: Accommodate new documentation.
* 2009-02-18 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2009-02-182-14/+16
| | | | | | | | | | | | * libc/stdio/open_memstream.c (internal_open_memstream_r): Fix max buffer size to be in wchar_t units if wide == 1 is passed in. In this case, also initialize the first character of the buffer to be wide char null. (_open_wmemstream_r): Cast buf to be (char **) to avoid warning. * libc/stdlib/mbtowc_r.c (_mbtowc_r): Change all occurences of incrementing the size_t value n to first check that n is not already size_t -1. Fix some compiler warnings. * libc/stdlib/wcstod.c: Add includes for <wctype.h> and <math.h>.
* 2009-02-12 Corinna Vinschen <corinna@vinschen.de>Jeff Johnston2009-02-124-7/+229
| | | | | | | | | | | | * libc/include/wchar.h (_wcstod_r): Declare. (_wcstof_r): Declare. (wcstod): Declare. (wcstof): Declare. * libc/stdlib/Makefile.am (GENERAL_SOURCES): Add wcstod.c. (CHEWOUT_FILES): Add wcstod.def. * libc/stdlib/Makefile.in: Regenerate. * libc/stdlib/stdlib.tex: Add wcstod. * libc/stdlib/wcstod.c: New file.
* 2008-12-11 Craig Howland <howland@LGSInnovations.com>Jeff Johnston2008-12-115-15/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-11-27 Craig Howland <howland@LGSInnovations.com>Jeff Johnston2008-11-272-1/+3
| | | | | | | | | | | | | | | | | * libc/argz/argz_add.c: Added #include <argz.h> to get function prototypes. * libc/argz/argz_append.c: Ditto. * libc/argz/argz_count.c: Ditto. * libc/argz/argz_create.c: Ditto. * libc/argz/argz_create_sep.c: Ditto. * libc/argz/argz_delete.c: Ditto. * libc/argz/argz_next.c: Ditto. * libc/argz/argz_stringify.c: Ditto * libc/stdlib/strtod.c: Added #include <stdlib.h> to get function prototypes. * libc/stdlib/wcstoul.c: Added #include <wchar.h> to get function prototypes, corrected traditional usage comment. * libc/include/wchar.h: Added _mbsrtowcs_r() prototype.
* 2008-11-24 Craig Howland <howland@LGSInnovations.com>Jeff Johnston2008-11-242-12/+23
| | | | | | | | | | | | | | | | | | | | * libc/stdlib/wcstoull_r.c: Add EINVAL return for bad base value, include wchar.h for prototype, remove extraneous includes, use C99/POSIX ULLONG_MAX (but allow for poor limits.h). * libc/stdlib/wcstoull.c: Fix usage comments (mistakes and to add base value check noted above), remove extraneous includes. * libc/stdio/asnprintf.c: Add #include "local.h" to get function prototype for _svfprintf_r(). * libc/stdio/vasnprintf.c: Ditto. * libc/stdio/local.h: Add function prototype for __submore(). * libc/include/stdio.h: Add function prototypes for _fseeko_r and _ftello_r. * libc/posix/namespace.h: Commented out define for write to eliminate write() prototype being missing for collate.c (which is the only file that presently includes namespace.h). * libc/include/reent.h: Added _rename_r. * libc/reent/renamer.c: Corrected function prototypes in synopses. * libc/locale/ldpart.c: Use struct stat64 when calling fstat64.
* 2008-11-19 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2008-11-194-11/+95
| | | | | | | | | | | | | | | * libc/sys/linux/bits/dirent.h: New header file. * libc/sys/linux/sys/dirent.h: Include <bits/dirent.h> instead of <linux/dirent.h>. * libc/posix/Makefile.am: Remove reallocf. * libc/posix/Makefile.in: Regenerated. * libc/posix/reallocf.c: Moved to... * libc/stdlib/reallocf.c: Here * libc/stdlib/malloc.c: Add reallocf documentation. * libc/include/stdlib.h: Add reallocf and _reallocf_r prototypes. * libc/stdlib/Makefile.am: Add reallocf. * libc/stdlib/Makefile.in: Regenerated. * libc/posix/_isatty.c: Set errno.
* 2008-10-31 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2008-10-314-17/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libc/stdio/diprintf.c: Modify documentation so eclipse newlib libhover docs generate properly. * libc/stdio/dprintf.c: Ditto. * libc/stdio/fflush.c: Ditto. * libc/stdio/fopencookie.c: Ditto. * libc/stdio/fread.c: Ditto. * libc/stdio/fsetpos.c: Ditto. * libc/stdio/getc_u.c: Ditto. * libc/stdio/getchar_u.c: Ditto. * libc/stdio/putc_u.c: Ditto. * libc/stdio/putchar_u.c: Ditto. * libc/stdio/remove.c: Ditto. * libc/stdio/siprintf.c: Ditto. * libc/stdio/siscanf.c: Ditto. * libc/stdio/sprintf.c: Ditto. * libc/stdio/sscanf.c: Ditto. * libc/stdio/vfprintf.c: Ditto. * libc/stdio/vfscanf.c: Ditto. * libc/stdio/viprintf.c: Ditto. * libc/stdio/viscanf.c: Ditto. * libc/stdlib/calloc.c: Ditto. * libc/stdlib/efgcvt.c: Ditto. * libc/stdlib/envlock.c: Ditto. * libc/time/asctime.c: Ditto. * libc/time/ctime.c: Ditto. * libc/time/gmtime.c: Ditto. * libc/time/lcltime.c: Ditto. * libc/time/tzset.c: Ditto. * libc/stdlib/envlock.h: Moved to libc/include.
* 2008-10-06 Eric Blake <ebb9@byu.net>Jeff Johnston2008-10-061-1/+1
| | | | | * libc/stdlib/ldtoa.c (etoasc): Fix rounding to even when fraction is 0.5 or 0.75.
* * configure: Regenerate for new libtool.Steve Ellcey2008-09-291-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-26 Craig Howland <howland@LGSInnovations.com>Jeff Johnston2008-09-261-8/+14
| | | | | * libc/stdlib/getenv_r.c (_getenv_r): Modify to not match if name contains an equal sign.
* 2008-09-24 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2008-09-251-7/+4
| | | | | * libc/stdlib/setenv_r.c (_unsetenv_r): Modify to return -1 only if name is NULL, empty, or contains equal sign.
* 2008-09-24 Pawel Veselov <pawel.veselov@gmail.com>Jeff Johnston2008-09-253-17/+31
| | | | | | | | | | | | | | | Fix setenv/getenv/unsetenv to be OpenGroup compliant: * libc/include/stdlib.h (unsetenv, _unsetenv_r): Redefine with integer return types. * libc/stdlib/getenv_r.c (_findenv_r): Do no special processing with names that contain equal chars. * libc/stdlib/setenv.c: Redefine _unsetenv_r as returning int. * libc/stdlib/setenv_r.c (_setenv_r): Return -1 and set errno to EINVAL if name contains an equal sign. Do not remove any equal signs from the value. (_unsetenv_r): Modified to return int. Return -1 and set EINVAL if name contains equal sign. Return -1 if no variable(s) were found and return 0 otherwise.
* 2008-08-28 Corinna Vinschen <corinna@vinschen.de>Jeff Johnston2008-08-281-1/+1
| | | | | * libc/stdlib/wcsrtombs.c (_wcsrtombs_r): Optimize condition for accepting a converted character.
* 2008-08-27 Corinna Vinschen <corinna@vinschen.de>Jeff Johnston2008-08-271-1/+1
| | | | | * libc/stdlib/wcsrtombs.c (_wcsrtombs_r): Fix condition for accepting a converted character and continuing the loop.
* Fix strict-aliasing issues with _strtod_r and Storeinc.Hans-Peter Nilsson2008-06-252-58/+32
| | | | | | | | | | | | | | * libc/stdlib/strtod.c (_strtod_r): Change local variables aadj, rv, rv0 from double to type U. Use accessor macros dval, dword0 and dword1 for all accesses except for the ULtod call, where rv.i replaces the pointer cast. * libc/stdlib/mprec.h (U): Rename member L to i for easier re-use of access macros. Tweak comment. Remove #ifdef'd YES_ALIAS code. (dword0, dword1, dval): Define in terms of uncast union member access. Ditto for _DOUBLE_IS_32BITS variants. (Storeinc): Replace aliasing-flawed microoptimized definition with alternative suggested in comment. Remove now stale comment.
* 2008-03-07 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2008-03-071-0/+4
| | | | | | | | | * libc/include/getopt.h: Hide newlib extensions under the __need_getopt_newlib flag. * libc/stdlib/getopt.c: #define __need_getopt_newlib before including getopt.h. Put entire code under !HAVE_GETOPT to support platforms with their own getopt implementation. * configure.host: Specify HAVE_GETOPT for x86-linux.
* Fix strtod("nan()", ptr).Eric Blake2008-03-041-1/+1
| | | | | | * libc/stdlib/gdtoa-hexnan.c (hexnan): When the optional n-char-sequence is omitted, still parse the (). -------------------------------------------------------------------
* 2008-02-29 Gregory Pietsch <gpietsch@comcast.net>Jeff Johnston2008-02-291-175/+249
| | | | | | | | | | | * libc/stdlib/getopt.c (getopt_internal): Rewrite to accept data area so as to support reentrant calls. Change all callers to fill in data area with global values and restore any changes to the global values after call. (__getopt_r, __getopt_long_r, __getopt_long_only_r): New routines to support reentrancy that add a data area argument. * libc/include/getopt.h: Add new _r routines and provide macros so they can be called with using double-underscores.
* Fix strtod("-0x", NULL).Eric Blake2008-02-211-7/+17
| | | | | * libc/stdlib/strtod.c (_strtod_r): Fall back to 0 if hex parse fails.
* 2008-02-12 Peter Rosin <peda@lysator.liu.se>Jeff Johnston2008-02-121-7/+2
| | | | | | * libc/stdlib/getopt.c (getopt_internal): Handle optional arguments better for long options and short options not appearing as the first option in a sequence.
* 2007-12-19 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2007-12-191-13/+14
| | | | | | | | | | | | | | | | | * NEWS: Update with 1.16.0 info. * README: Ditto. * acinclude.m4: Change version number to 1.16.0. * aclocal.m4: Regenerated. * configure: Ditto. * 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.16.
* 2007-10-23 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2007-10-231-13/+22
| | | | | * libc/stdlib/wcstombs_r.c: Add SUSV2 support for calculating size if output buffer is NULL.
* 2007-08-31 Antony King <antony.king@st.com>Jeff Johnston2007-08-312-10/+16
| | | | | | | | * libc/stdlib/mprec.h [_DOUBLE_IS_32BITS}: Define IEEE_Arith bits and redefine associated dword0 macro (rvalue issue). * libc/stdio/vfieeefp.h: Ditto. * libc/stdlib/strtod.c: Add checks for _DOUBLE_IS_32BITS to prevent setting dword1 which is an rvalue only.
* * libc/include/wchar.h: Declare wcstol, wcstoll, wcstoul,Corinna Vinschen2007-07-0611-5/+1052
| | | | | | | | | | | | | | | | | | wcstoull, _wcstol_r, _wcstoll_r, _wcstoul_r and _wcstoull_r. * libc/stdlib/Makefile.am (GENERAL_SOURCES): Add wcstol.c and wcstoul.c. (EXTENDED_SOURCES): Add wcstoll.c, wcstoll_r.c, wcstoull.c and wcstoull_r.c. (CHEWOUT_FILES): Add .def files accordingly. * libc/stdlib/Makefile.in: Regenerate. * libc/stdlib/stdlib.tex: Add documentation links for above functions. * libc/stdlib/strtoll.c: Fix portability note. * libc/stdlib/strtoull.c: Ditto. * libc/stdlib/wcstol.c: New file. * libc/stdlib/wcstoll.c: New file. * libc/stdlib/wcstoll_r.c: New file. * libc/stdlib/wcstoul.c: New file. * libc/stdlib/wcstoull.c: New file. * libc/stdlib/wcstoull_r.c: New file.
* Support __func__ in assert, as required by C99.Eric Blake2007-06-271-10/+22
| | | | | | | * libc/stdlib/assert.c (__assert_func): New function. (__assert): Use __assert_func. * libc/include/assert.h (assert) [!NDEBUG]: Use __assert_func when possible.
* 2007-06-06 Christian Groessler <chris@groessler.org>Jeff Johnston2007-06-062-6/+10
| | | | | | | | | * libc/stdlib/ldtoa (_ldcheck): Make sure the setting of rnd is done after the last local variable declaration. 2007-06-06 Jeff Johnston <jjohnstn@redhat.com> * libc/stdlib/mprec.h[Just_16]: Make sure that Pack_16 is defined.
* Avoid more compiler warnings.Eric Blake2007-05-294-1/+4
| | | | | | | | | * libc/stdlib/btowc.c: Add missing header. * libc/stdlib/getopt.c (getopt_internal): Initialize variable. * libc/stdlib/system.c (do_system) [__CYGWIN__]: Add declaration. * libc/stdlib/wctob.c: Add missing header. * libc/string/strcpy.c (strcpy): Avoid warnings. * libc/string/strrchr.c (strrchr): Likewise.
* * ltmain.sh: Update from GCC.Steve Ellcey2007-05-241-5/+21
| | | | | | | | | | | | | | | * libtool.m4: Update from GCC. * ltsugar.m4: New. Update from GCC. * ltversion.m4: New. Update from GCC. * ltoptions.m4: New. Update from GCC. * ltconfig: Remove. * ltcf-c.sh: Remove. * ltcf-cxx.sh: Remove. * ltcf-gcj.sh: Remove. * src-release: Update with new libtool file list. * newlib/*/configure.in: invoke _LD_DECL_SED. * newlib/*/Makefile.am: Ensure toplevel is included in ACLOCAL_AMFLAGS. * Regenerate subdirectories
* * libc/include/math.h (INFINITY, NAN, FP_ILOGB0, FP_ILOGBNAN)Eric Blake2007-05-161-31/+26
| | | | | | | (MATH_ERRNO, MATH_ERREXCEPT, math_errhandling): Add macros required by POSIX. * libc/stdlib/ldtoa.c (USE_INFINITY): Rename from INFINITY, to avoid clash with <math.h>.
* * libc/stdlib/wctomb_r.c (_wctomb_r): Avoid gcc warnings on cygwin.Eric Blake2007-05-161-2/+6
| | | | * libc/search/hash.c (__hash_open): Likewise.
* 2007-04-23 Ralf Wildenhues <Ralf.Wildenhues <at> gmx.de>Jeff Johnston2007-04-231-1/+2
| | | | | | | | | | | | | | | * confsubdir.m4 (AC_CONFIG_SUBDIRS, _AC_OUTPUT_SUBDIRS): New file. Override Autoconf-2.59's version of these macros with fixed handling of multiple adjacent whitespace in arguments. * aclocal.m4: Regenerated forcefully. * configure: Ditto. * 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.
* * libc/stdlib/__call_atexit.c (__call_exitprocs): Handle atexitKazu Hirata2007-04-051-0/+12
| | | | functions registering additional atexit functions.