Corinna Vinschen
8c72ebb7e0
* libc/stdlib/wcstombs_r.c (_wcstombs_r): Handle invalid characters
...
correctly also in the s==NULL case.
2010-01-19 21:14:53 +00:00
Corinna Vinschen
32cb8c8cfe
* libc/locale/locale.c (lc_ctype_charset): Disable defaulting to
...
"UTF-8" on Cygwin.
(lc_message_charset): Ditto.
(loadlocale): Disable setting charset of the "C" locale to "UTF-8" on
Cygwin.
* libc/stdlib/mbtowc_r.c (__mbtowc): Add Cygwin-specific comment.
* libc/stdlib/wctomb_r.c (__wctomb): Ditto.
2010-01-17 09:39:06 +00:00
Corinna Vinschen
2b77087a48
* libc/stdlib/mbtowc_r.c (__ascii_mbtowc): Disallow conversion of
...
non-ASCII chars on Cygwin.
* libc/stdlib/wctomb_r.c (__ascii_wctomb): Ditto.
2010-01-10 13:54:34 +00:00
Jeff Johnston
8b917fbcdd
2009-12-17 Jerker Back <jerker.back@gmail.com>
...
* libc/include/_ansi.h: Add new _EXFNPTR macro for using with
function pointer arguments.
* libc/iconv/lib/conv.h: Use _EXFNPTR rather than _EXPARM macro.
* libc/iconv/lib/ucsconv.h: Ditto.
* libc/include/stdlib.h: Use new _EXFNPTR macro for function pointers.
* libc/include/sys/reent.h: Ditto.
* libc/include/sys/unistd.h: Ditto.
* libc/search/bsearch.c: Ditto.
* libc/stdio/fseek.c: Ditto.
* libc/stdio64/fseeko64.c: Ditto.
* libc/stdlib/atexit.c: Ditto.
* libc/stdlib/on_exit.c: Ditto.
2009-12-17 19:43:43 +00:00
Jeff Johnston
df8d921e12
2009-12-03 Craig Howland <howland@LGSInnovations.com>
...
* libc/stdlib/strtod.c: Correct "NO_REENT" to "_REENT_ONLY".
* libc/stdlib/wcstod.c: Ditto.
* libc/stdlib/dtoastub.c: Ditto.
2009-12-03 16:11:27 +00:00
Corinna Vinschen
e92d0abecf
Use NetBSD fix for CVE-2009-0689 security vulnerability.
...
* libc/include/sys/reent.h (_Kmax): Define here based on the sizeof
size_t, as in latest NetBSD.
* libc/reent/reent.c (_reclaim_reent): Use _Kmax rather than constant
value 15.
* libc/stdlib/mprec.c (_Kmax): Don't define here. Explain why.
2009-11-23 17:02:20 +00:00
Corinna Vinschen
b4fee5273e
* libc/stdio/vfprintf.c: Include ../stdlib/local.h. Replace call to
...
_mbtowc_r with direct call to __mbtowc.
* libc/stdio/vfscanf.c: Ditto.
* libc/stdlib/btowc.c: Include local.h. Replace call to _mbtowc_r
with direct call to __mbtowc.
* libc/stdlib/mblen.c: Ditto.
* libc/stdlib/mblen_r.c: Ditto.
* libc/stdlib/mbrtowc.c: Ditto.
* libc/stdlib/mbstowcs_r.c: Ditto.
* libc/stdlib/mbtowc.c: Ditto.
* libc/stdlib/wcrtomb.c: Include local.h. Replace call to _wctomb_r
with direct call to __wctomb.
* libc/stdlib/wcsnrtombs.c: Ditto.
(_wcsnrtombs_r): Ditto.
* libc/stdlib/wcstombs_r.c: Ditto.
* libc/stdlib/wctob.c: Ditto.
* libc/stdlib/wctomb.c: Ditto.
* libc/stdlib/mbrtowc.c (mbrtowc): Implement independently from
_mbrtowc_r, unless PREFER_SIZE_OVER_SPEED or __OPTIMIZE_SIZE__ are
defined.
* libc/stdlib/wcrtomb.c (wcrtomb): Implement independently from
_wcrtomb_r, unless PREFER_SIZE_OVER_SPEED or __OPTIMIZE_SIZE__ are
defined.
* libc/stdlib/mbtowc_r.c (__utf8_mbtowc): Drop unnecessary test for
ch >= 0.
2009-11-18 09:49:57 +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
a3a62ae7a5
2009-10-08 Jeff Johnston <jjohnstn@redhat.com>
...
* configure.host: For RTEMS, define HAVE_ASSERT_FUNC.
* libc/stdlib/assert.c (_assert_func): Do not specify
__assert_func if HAVE_ASSERT_FUNC flag is set.
2009-10-08 16:44:10 +00:00
Corinna Vinschen
6ff28fc3b1
* libc/stdlib/mbtowc_r.c (__utf8_mbtowc): Allow CESU-8 surrogate
...
value encoding.
* libc/stdlib/wctomb_r.c (__utf8_mbtowc): Allow CESU-8 surrogate
value decoding.
2009-10-03 08:51:07 +00:00
Corinna Vinschen
99dbad651c
* libc/stdlib/sb_charsets.c: Throughout, translate undefined
...
characters to their corresponding Windows Unicode value.
2009-09-29 19:11:01 +00:00
Jeff Johnston
6c249577fb
2009-09-28 Michael Eager <eager@eagercon.com>
...
* 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.
2009-09-28 16:42:21 +00:00
Corinna Vinschen
a58d484bcf
* libc/locale/locale.c (lc_ctype_charset): Set to "UTF-8" on Cygwin.
...
(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-09-27 12:21:16 +00:00
Jeff Johnston
eb9194f52c
2009-08-25 Andy Koppe <andy.koppe@gmail.com>
...
* 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-25 18:47:24 +00:00
Jeff Johnston
162a23c504
2009-08-24 Corinna Vinschen <corinna@vinschen.de>
...
* 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-24 22:11:11 +00:00
Jeff Johnston
5f8c90bbc0
2009-08-10 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/stdlib/wcstombs.c: Change documentation to specify size_t
return type instead of int.
2009-08-10 16:23:20 +00:00
Jeff Johnston
1cc1af42c1
2009-07-29 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/stdlib/a64l.c: Fix to use 'a' instead of 'A' in calculation
when a lower-case character is detected.
2009-07-29 22:33:40 +00:00
Corinna Vinschen
a67f77af1a
* libc/stdlib/mbtowc_r.c (__utf8_mbtowc): Rework UTF-16 surrogate
...
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.
2009-07-29 08:31:30 +00:00
Corinna Vinschen
ecf5c883df
* libc/stdlib/mbtowc_r.c (__utf8_mbtowc): Fix incrementing n in case
...
of handling incomplete sequences.
2009-07-28 16:49:19 +00:00
Corinna Vinschen
1c5e84dd08
* libc/stdio/vfprintf.c (_VFPRINTF_R): Use actual length of
...
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 17:44:20 +00:00
Jeff Johnston
1a99b6f85a
2009-06-16 Craig Howland <howland@LGSInnovations.com>
...
* libc/ctype/local.h (__locale_charset): Add arguments to
prototype
* libc/stdlib/local.h (__locale_charset): Ditto.
2009-06-16 16:02:07 +00:00
Jeff Johnston
35f31b6a98
2009-04-24 Jeff johnston <jjohnstn@redhat.com>
...
* 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-24 22:49:55 +00:00
Jeff Johnston
bbb9d4fde3
2009-04-23 Paul Brook <paul@codesourcery.com>
...
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.
2009-04-23 17:54:22 +00:00
Corinna Vinschen
755b125b77
* libc/stdio/local.h (__chclass, __state_table, __action_table):
...
Add extern to the declarations.
* libc/stdlib/local.h (__iso_8859_conv, __cp_conv): Likewise.
2009-04-22 08:30:03 +00:00
Jeff Johnston
1b8e360e06
2009-04-17 Jeff johnston <jjohnstn@redhat.com>
...
* 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-17 22:15:43 +00:00
Jeff Johnston
65f414dc16
2009-04-16 Ken Werner <ken.werner@de.ibm.com>
...
* 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.
2009-04-16 18:24:35 +00:00
Corinna Vinschen
9b26525ec3
* libc/stdlib/local.h (__mbtowc): Declare extern.
...
(__wctomb): Ditto.
2009-04-09 08:24:37 +00:00
Corinna Vinschen
f03f51dccf
* libc/stdlib/mbctype.h (_iseucjp1): Like _iseucjp, but also
...
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.
2009-04-09 08:20:10 +00:00
Corinna Vinschen
80317fe50f
* libc/stdlib/wcstombs.c: Fix datatypes in documentation.
2009-04-04 16:00:31 +00:00
Corinna Vinschen
f6e29e076a
Revert erroneously checked in files.
2009-03-26 10:04:40 +00:00
Corinna Vinschen
28186e81d9
* libc/ctype/iswalpha.c: Handle all wchar_t as unicode on
...
_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.
2009-03-24 10:13:27 +00:00
Corinna Vinschen
360dc06fdb
* libc/stdlib/mbtowc_r.c (_mbtowc_r): Return EILSEQ in case of an
...
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.
2009-03-19 19:47:52 +00:00
Corinna Vinschen
d99179dbf3
* libc/stdlib/mbstowcs_r.c (_mbstowcs_r): Handle NULL destination
...
string correctly.
2009-03-17 12:16:28 +00:00
Corinna Vinschen
d6cd9169dc
* libc/locale/locale.c (_setlocale_r): New implementation based on
...
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-03 09:28:45 +00:00
Jeff Johnston
95d85fcb1a
2009-03-02 Jeff Johnston <jjohnstn@redhat.com>
...
* 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 23:30:59 +00:00
Jeff Johnston
49b09e5afa
2009-03-02 Corinna Vinschen <corinna@vinschen.de>
...
* 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-03-02 23:20:28 +00:00
Jeff Johnston
297367e3b3
2009-02-25 Brooks Moses <brooks@codesourcery.com>
...
* 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.
2009-02-25 21:33:18 +00:00
Corinna Vinschen
8d8bf5a5e2
* mbtowc_r.c (_mbtowc_r): Remove conversion of 5 and 6 byte UTF-8
...
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.
2009-02-25 09:10:09 +00:00
Corinna Vinschen
2e10d61ccb
* libc/include/wchar.h (mbsnrtowcs): Declare.
...
(_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-19 09:19:42 +00:00
Jeff Johnston
3f60f7e544
2009-02-18 Jeff Johnston <jjohnstn@redhat.com>
...
* 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-18 21:28:41 +00:00
Jeff Johnston
77ea728b96
2009-02-12 Corinna Vinschen <corinna@vinschen.de>
...
* 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.
2009-02-12 23:10:01 +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
bad5c314f7
2008-11-27 Craig Howland <howland@LGSInnovations.com>
...
* 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-27 20:45:37 +00:00
Jeff Johnston
0aca33c823
2008-11-24 Craig Howland <howland@LGSInnovations.com>
...
* 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-24 21:27:33 +00:00
Jeff Johnston
8ee939ea9f
2008-11-19 Jeff Johnston <jjohnstn@redhat.com>
...
* 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-11-19 20:56:22 +00:00
Jeff Johnston
1dc1ccd4ae
2008-10-31 Jeff Johnston <jjohnstn@redhat.com>
...
* 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-31 21:08:03 +00:00
Jeff Johnston
0d2597f5a0
2008-10-06 Eric Blake <ebb9@byu.net>
...
* libc/stdlib/ldtoa.c (etoasc): Fix rounding to even when fraction
is 0.5 or 0.75.
2008-10-06 19:47:06 +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
9e71090b9a
2008-09-26 Craig Howland <howland@LGSInnovations.com>
...
* libc/stdlib/getenv_r.c (_getenv_r): Modify to not match if name
contains an equal sign.
2008-09-26 16:23:58 +00:00
Jeff Johnston
57d7cfcdb7
2008-09-24 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/stdlib/setenv_r.c (_unsetenv_r): Modify to return -1 only if
name is NULL, empty, or contains equal sign.
2008-09-25 03:00:04 +00:00