summaryrefslogtreecommitdiffstats
path: root/newlib/libc/stdlib
Commit message (Collapse)AuthorAgeFilesLines
...
* * libc/stdlib/sb_charsets.c: Throughout, translate undefinedCorinna Vinschen2009-09-291-78/+78
| | | | characters to their corresponding Windows Unicode value.
* 2009-09-28 Michael Eager <eager@eagercon.com>Jeff Johnston2009-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | | * configure.host: Add microblaze. * libc/include/machine/ieeefp.h [MICROBLAZE]: Define __IEEE_BIG_ENDIAN. * libc/include/machine/setjmp.h [MICROBLAZE]: Define _JBLEN, _JBTYPE. * libc/include/sys/config.h [MICROBLAZE]: Define _REENT_SMALL, _UNIX98_THREAD_MUTEX_ATTRIBUTES. * libc/include/sys/types.h: Treat XMK like rtems, define PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE, PTHREAD_MUTEX_DEFAULT, PTHREAD_STACK_MIN, define stuct pthread_attr_s. * libc/machine/configure.in: Add microblaze. * libc/machine/configure: Add microblaze (not regenerated). * libc/machine/microblaze/configure.in: NEW. * libc/machine/microblaze/configure: Generate. * libc/machine/microblaze/Makefile.am: NEW. * libc/machine/microblaze/Makefile.in: Generate. * libc/machine/microblaze/{abort.c, strcmp.c, strcpy.c, strlen.c, mallocr.c, longjmp.S, setjmp.S}: NEW. * libc/stdlib/mallocr.c [MICROBLAZE]: Don't declare sbrk prototype, mALLOc(): return malloc value.
* * libc/locale/locale.c (lc_ctype_charset): Set to "UTF-8" on Cygwin.Corinna Vinschen2009-09-272-0/+8
| | | | | | | | | (lc_message_charset): Ditto. (loadlocale): Set charset of the "C" locale to "UTF-8" on Cygwin. * libc/stdlib/mbtowc_r.c (__mbtowc): Default to __utf8_mbtowc on Cygwin. * libc/stdlib/wctomb_r.c (__wctomb): Default to __utf8_wctomb on Cygwin.
* 2009-08-25 Andy Koppe <andy.koppe@gmail.com>Jeff Johnston2009-08-252-2/+2
| | | | | | | | * libc/stdlib/sb_charsets.c (__micro_atoi): Allow five-digit codepage numbers. * libc/locale/locale.c (loadlocale): Set MB_CUR_MAX to 1 for KOI8 charsets. * libc/stdlib/local.h (__cp_conv): Remove incorrect number of codepages.
* 2009-08-24 Corinna Vinschen <corinna@vinschen.de>Jeff Johnston2009-08-241-2/+42
| | | | | | | | | | | * libc/locale/locale.c: Update documentation. (loadlocale): Map "KOI8-R" and "KOI8-U" to CP20866 and CP21866. 2009-08-24 Andy Koppe <andy.koppe@gmail.com> * libc/stdlib/sb_charsets.c (__cp_conv): Add KOI8-R (Russian, CP20866) and KOI8-U (Ukrainian, CP21866) to Windows codepage conversion tables. * libc/ctype/ctype_cp.h (__ctype_cp): Likewise for ctype tables.
* 2009-08-10 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2009-08-101-2/+2
| | | | | * libc/stdlib/wcstombs.c: Change documentation to specify size_t return type instead of int.
* 2009-07-29 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2009-07-291-1/+1
| | | | | * libc/stdlib/a64l.c: Fix to use 'a' instead of 'A' in calculation when a lower-case character is detected.
* * libc/stdlib/mbtowc_r.c (__utf8_mbtowc): Rework UTF-16 surrogateCorinna Vinschen2009-07-291-31/+31
| | | | | | | pair handling to be more bullet-proof even with incomplete UTF-8 sequences. Add check for 4 byte sequences resulting in values outside the valid Unicode range. Add a comment to clarify checking for invalid CESU-8 sequences.
* * libc/stdlib/mbtowc_r.c (__utf8_mbtowc): Fix incrementing n in caseCorinna Vinschen2009-07-281-8/+13
| | | | of handling incomplete sequences.
* * libc/stdio/vfprintf.c (_VFPRINTF_R): Use actual length ofCorinna Vinschen2009-06-163-23/+40
| | | | | | | | | | | radix char instead of assuming length 1. * libc/stdlib/gdtoa-gethex.c: Remove use of USE_LOCALE. (gethex): Allow multibyte decimal point. Fix compiler warnings due to different signedness of pointer types. * libc/stdlib/strtod.c: Remove use of USE_LOCALE. (_strtod_r): Allow multibyte decimal point. * libc/stdlib/wcstod.c (_wcstod_r): Evaluate correct wide char endptr position if the decimal point is a multibyte char.
* 2009-06-16 Craig Howland <howland@LGSInnovations.com>Jeff Johnston2009-06-161-1/+1
| | | | | | * libc/ctype/local.h (__locale_charset): Add arguments to prototype * libc/stdlib/local.h (__locale_charset): Ditto.
* 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.