summaryrefslogtreecommitdiffstats
path: root/newlib/libc/locale
Commit message (Collapse)AuthorAgeFilesLines
* Extend locale support to maintain wide char values of native stringsCorinna Vinschen2010-04-2814-33/+530
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if __HAVE_LOCALE_INFO_EXTENDED__ is defined. * libc/include/langinfo.h (enum __nl_item): New type. Define all native values accessible through nl_langinfo. Define previously existing POSIX-compatible values as macros as well. * libc/include/stdlib.h (__mb_cur_max): Drop declaration. (__locale_mb_cur_max): Declare. (MB_CUR_MAX): Re-define calling __locale_mb_cur_max. * libc/locale/Makefile.am (ELIX_SOURCES): Add lctype.c. * libc/locale/Makefile.in: Regenerate. * libc/locale/lctype.c: New file to define and load LC_CTYPE category. * libc/locale/lctype.h: New file, matching header. * libc/locale/lmessages.c (_C_messages_locale): Add default values for wide char members. (__messages_load_locale): Add _C_messages_locale in call to __set_lc_messages_from_win. * libc/locale/lmessages.h (struct lc_messages_T): Add wide char members. * libc/locale/lmonetary.c (_C_monetary_locale): Add default values for wide char members. (__monetary_load_locale): Add _C_monetary_locale in call to __set_lc_monetary_from_win. * libc/locale/lmonetary.h (struct lc_monetary_T): Add wide char members. Add numerical values for international currency formatting per POSIX-1.2008, if __HAVE_LOCALE_INFO_EXTENDED__ is defined. * libc/locale/lnumeric.c (_C_numeric_locale): Add default values for wide char members. (__numeric_load_locale): Add _C_numeric_locale in call to __set_lc_numeric_from_win. * libc/locale/lnumeric.h (struct lc_numeric_T): Add wide char members. * libc/locale/locale.c (loadlocale): Return doing nothing if category locale didn't change. Convert category if chain to switch statement. Call __ctype_load_locale in LC_CTYPE case. (__locale_charset): Add (but disable for now) returning codeset from __get_current_ctype_locale. (__locale_mb_cur_max): Add (but disable for now) returning mb_cur_max from __get_current_ctype_locale. (__locale_msgcharset): Add returning codeset from __get_current_messages_locale. (_localeconv_r): Accommodate int_XXX values. * libc/locale/nl_langinfo.c (nl_ext): New array to define what is to be returned for non-POSIX values. (nl_Langinfo): Return correct codeset for each locale category. Return extended values if __HAVE_LOCALE_INFO_EXTENDED__ is defined. * libc/locale/timelocal.c (_C_time_locale): Add default values for wide char members. (__time_load_locale): Add _C_time_locale in call to __set_lc_time_from_win. * libc/locale/timelocal.h (struct lc_time_T): Add wide char members. * libc/stdio/vfwprintf.c (_VFWPRINTF_R): Use wide char decimal point and thousands_sep if __HAVE_LOCALE_INFO_EXTENDED__ is defined. * libc/time/strftime.c: Rework to accommodate availability of wide char strings in LC_TIME category if __HAVE_LOCALE_INFO_EXTENDED__ is defined.
* * libc/Makefile.am (SUBDEFS): Add LIBC_POSIX_DEF.DJ Delorie2010-04-222-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (libc.info): Add posix.texi. (libc.dvi): Likewise. (stmp-posix): New. (posix.texi): New. (libc_TEXINFOS): Add posix.texi. * libc/configure.in (LIBC_POSIX_LIB, LIBC_POSIX_DEF): Add tests. * libc/libc.texinfo: Include posix.texi * libc/locale/locale.c: Fix texinfo typo. * libc/time/strftime.c: Fix texinfo typo. * libc/configure: Regenerate. * libc/Makefile.in: Regenerate. * libc/argz/Makefile.in: Regenerate. * libc/ctype/Makefile.in: Regenerate. * libc/errno/Makefile.in: Regenerate. * libc/iconv/Makefile.in: Regenerate. * libc/iconv/ccs/Makefile.in: Regenerate. * libc/iconv/ccs/binary/Makefile.in: Regenerate. * libc/iconv/ces/Makefile.in: Regenerate. * libc/iconv/lib/Makefile.in: Regenerate. * libc/locale/Makefile.in: Regenerate. * libc/misc/Makefile.in: Regenerate. * libc/posix/Makefile.in: Regenerate. * libc/reent/Makefile.in: Regenerate. * libc/search/Makefile.in: Regenerate. * libc/signal/Makefile.in: Regenerate. * libc/stdio/Makefile.in: Regenerate. * libc/stdio64/Makefile.in: Regenerate. * libc/stdlib/Makefile.in: Regenerate. * libc/string/Makefile.in: Regenerate. * libc/syscalls/Makefile.in: Regenerate. * libc/time/Makefile.in: Regenerate. * libc/unix/Makefile.in: Regenerate. * libc/xdr/Makefile.in: Regenerate.
* * libc/locale/locale.c (loadlocale): Optimize "EUC" charset check.Corinna Vinschen2010-03-272-9/+24
| | | | | | | Cygwin only: Allow GB2312 and EUC-CN as alternative codeset names for GBK. Add to documentation. * libc/locale/nl_langinfo.c (nl_langinfo): On Cygwin, translate EUCCN to GB2312.
* Add eXtensible Data Record (XDR) supportCorinna Vinschen2010-03-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.host: Build libc/xdr only on cygwin. * Makefile.am: Install xdr headers. * libc/configure.in: Support new libc/xdr subdirectory. * libc/Makefile.am: Support new libc/xdr subdirectory. * libc/include/rpc/types.h: New. * libc/include/rpc/xdr.h: New. * libc/xdr/README: New. * libc/xdr/Makefile.am: New. * libc/xdr/dummy.c: New. * libc/xdr/xdr.c: New. * libc/xdr/xdr_array.c: New. * libc/xdr/xdr_float.c: New. * libc/xdr/xdr_float_vax.c: New. * libc/xdr/xdr_mem.c: New. * libc/xdr/xdr_private.c: New. * libc/xdr/xdr_private.h: New. * libc/xdr/xdr_rec.c: New. * libc/xdr/xdr_reference.c: New. * libc/xdr/xdr_sizeof.c: New. * libc/xdr/xdr_stdio.c: New. Regenerate using ac-2.63 and am-1.11.1 * libc/xdr/Makefile.in: New. * Makefile.in: Regenerate. * libc/configure: Regenerate. * libc/Makefile.in: Regenerate. * libc/argz/Makefile.in: Regenerate. * libc/ctype/Makefile.in: Regenerate. * libc/errno/Makefile.in: Regenerate. * libc/iconv/ccs/binary/Makefile.in: Regenerate. * libc/iconv/ccs/Makefile.in: Regenerate. * libc/iconv/ces/Makefile.in: Regenerate. * libc/iconv/lib/Makefile.in: Regenerate. * libc/iconv/Makefile.in: Regenerate. * libc/locale/Makefile.in: Regenerate. * libc/misc/Makefile.in: Regenerate. * libc/posix/Makefile.in: Regenerate. * libc/reent/Makefile.in: Regenerate. * libc/search/Makefile.in: Regenerate. * libc/signal/Makefile.in: Regenerate. * libc/stdio/Makefile.in: Regenerate. * libc/stdio64/Makefile.in: Regenerate. * libc/stdlib/Makefile.in: Regenerate. * libc/string/Makefile.in: Regenerate. * libc/syscalls/Makefile.in: Regenerate. * libc/time/Makefile.in: Regenerate. * libc/unix/Makefile.in: Regenerate.
* * libc/locale/locale.c (loadlocale): Fix typo in comment.Corinna Vinschen2010-02-251-1/+1
|
* * libc/locale/locale.c: Throughout, extensively comment on theCorinna Vinschen2010-02-251-8/+32
| | | | | | | | reason for using __CYGWIN__. (lconv): Remove _CONST entirely. (loadlocale): Guard calls to function loading locale-specific category data with __HAVE_LOCALE_INFO__ rather than __CYGWIN__. * libc/sys/config.h (__HAVE_LOCALE_INFO__): Define for Cygwin.
* 2010-02-24 Charles Wilson <...>Jeff Johnston2010-02-241-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Work around issues with new libtool files in .. * configure.in: Unconditionally call _LT_PROG_ECHO_BACKSLASH. * iconvdata/configure.in: Ditto. * libc/configure.in: Ditto. * libc/machine/configure.in: Ditto. * libc/machine/i386/configure.in: Ditto. * libc/sys/configure.in: Ditto. * libc/sys/linux/configure.in: Ditto. * libc/sys/linux/linuxthreads/configure.in: Ditto. * libc/sys/linux/linuxthreads/machine/configure.in: Ditto. * libc/sys/linux/linuxthreads/machine/i386/configure.in: Ditto. * libc/sys/linux/machine/configure.in: Ditto. * libc/sys/linux/machine/i386/configure.in: Ditto. * libm/configure.in: Ditto. * libm/machine/configure.in: Ditto. * libm/machine/i386/configure.in: Ditto. * libc/machine/sh/configure.in: Ditto. Also, call AC_NO_EXECUTABLES before NEWLIB_CONFIGURE. * aclocal.m4: Regenerated. * configure: Ditto. * Makefile.in: Ditto. * doc/aclocal.m4: Ditto. * doc/Makefile.in: Ditto. * libc/*/aclocal.m4: Ditto. * libc/*/Makefile.in: Ditto. * libc/*/configure: Ditto. * libm/*/aclocal.m4: Ditto. * libm/*/Makefile.in: Ditto. * libm/*/configure: Ditto.
* * libc/include/langinfo.h (_NL_TIME_DATE_FMT): Define new nl_itemCorinna Vinschen2010-02-221-0/+3
| | | | | | value for LC_TIME entry date_fmt. (_DATE_FMT): Define "official" GNU name same as _NL_TIME_DATE_FMT. * libc/locale/nl_langinfo.c (nl_langinfo): Add case for _DATE_FMT.
* * libc/locale/timelocal.h (struct lc_time_T): Add missing ERA-relatedCorinna Vinschen2010-02-183-11/+37
| | | | | | | | members. * libc/locale/timelocal.c (_C_time_local): Set new members to empty strings. * libc/locale/nl_langinfo.c (nl_langinfo): Return values from __get_current_time_locale() for ERA related requests.
* * libc/locale/lmessages.c (__messages_load_locale): Take additionalCorinna Vinschen2010-02-096-7/+44
| | | | | | | | | | | | | | | parameters for wide char to multibyte conversion. Call __set_lc_messages_from_win on Cygwin. * libc/locale/lmessages.h: Make C++-safe. (__messages_load_locale): Change declaration. * libc/locale/lmonetary.c (__monetary_load_locale): Use _monetary_locale_buf as buffer pointer. * libc/locale/lnumeric.c (__numeric_load_locale): Use _numeric_locale_buf as buffer pointer. * libc/locale/timelocal.c (__time_load_locale): Use time_locale_buf as buffer pointer. * libc/locale/locale.c (loadlocale): Enable loading LC_MESSAGES data on Cygwin.
* * libc/locale/locale.c: Add Cygwin's /usr/share/locale/locale.aliasCorinna Vinschen2010-02-071-26/+45
| | | | | | | | | support to documentation. (__set_locale_from_locale_alias): Declare when build for Cygwin. (loadlocale): On Cygwin, if locale can't be recognized, call __set_locale_from_locale_alias to check for locale alias. Define FAIL macro to replace `return NULL' statements. Replace throughout.
* * libc/locale/locale.c: Fix typo in documentation. Remove uselessCorinna Vinschen2010-02-071-42/+6
| | | | | _MB_CAPABLE guards within other _MB_CAPABLE guards. Add comment to remaining #endif's.
* * libc/ctype/ctype_cp.h (_CTYPE_GEORGIAN_PS_128_254): Define.Corinna Vinschen2010-02-062-31/+90
| | | | | | | | | | | | | | | | | (_CTYPE_GEORGIAN_PS_255): Define. (_CTYPE_PT154_128_254): Define. (_CTYPE_PT154_255): Define. (__ctype_cp): Add array members for above ctype definitions. * libc/locale/locale.c (loadlocale): Make TIS-620 charset name available for all targets. Add guards for setting the conversion function pointers. Add support for GEORGIAN-PS and PT154 charsets. Change documentation to reflect current behaviour more closely. * libc/locale/nl_langinfo.c (nl_langinfo): On Cygwin, translate "CP101" to "GEORGIAN-PS" and "CP102" to "PT154". * libc/stdlib/sb_charsets.c (__cp_conv): Add conversion arrays for GEORGIAN-PS and PT154. (__cp_index): Map invalid Windows codepage number 101 to GEORGIAN-PS conversion array, 102 to PT154 conversion array.
* * libc/locale/locale.c (loadlocale): Handle ISO-8859 and KOI8 charsetsCorinna Vinschen2010-02-051-13/+31
| | | | so that the dashes are optional. Align documentation.
* * libc/locale/nl_langinfo.c (nl_langinfo): Return "CP932" when usingCorinna Vinschen2010-01-241-0/+14
| | | | SJIS on Cygwin. Explain why.
* * libc/locale/locale.c (loadlocale): Allow CP932 as alias for SJIS.Corinna Vinschen2010-01-231-9/+16
| | | | Add to documentation. Add a few comments to #endif's for Cygwin.
* * libc/locale/locale.c (loadlocale): Disable JIS entirely on Cygwin.Corinna Vinschen2010-01-231-1/+14
| | | | Allow TIS620 and TIS-620 as aliases for CP874 on Cygwin.
* * libc/locale/lmonetary.c (__monetary_load_locale): Take additionalCorinna Vinschen2010-01-228-24/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | parameters for wide char to multibyte conversion. Call __set_lc_monetary_from_win on Cygwin. * libc/locale/lmonetary.h: Make C++-safe. (__monetary_load_locale): Change declaration. * libc/locale/lnumeric.c (__numeric_load_locale): Take additional parameters for wide char to multibyte conversion. Call __set_lc_numeric_from_win on Cygwin. * libc/locale/lnumeric.h: Make C++-safe. (__numeric_load_locale): Change declaration. * libc/locale/locale.c (lconv): De-constify for Cygwin. (__set_charset_from_locale): Rename from __set_charset_from_codepage. Take locale as parameter instead of a codepage. (loadlocale): Allow "EUC-JP" for "EUCJP" and "EUC-KR" for "EUCKR". Change documnetation accordingly. Enable LC_COLLATE, LC_MONETARY, LC_NUMERIC, and LC_TIME handling on Cygwin. (_localeconv_r): On Cygwin, copy values from monetary and numeric domain if change has been noted. * libc/locale/nl_langinfo.c (nl_langinfo): Accommodate change of am/pm layout in struct lc_time_T. * libc/locale/timelocal.c (_C_time_locale): Accommodate redefinition of am/pm members. (__time_load_locale): Take additional parameters for wide char to multibyte conversion. Call __set_lc_time_from_win on Cygwin. * libc/locale/timelocal.h: Make C++-safe. (struct lc_time_T): Convert am and pm to a am_pm array for easier consumption by strftime and strptime. (__time_load_locale): Change declaration. * libc/time/strftime.c: Change documentation to reflect changes to strftime. Remove locale constant strings in favor of access to locale-specifc data. (_ctloc): Define access method for locale-specifc data. (TOLOWER): Define for tolower conversion. (strftime): Throughout, convert locale-specific formats to use locale-specific data. Add GNU-specific "%P" format. * libc/time/strptime.c: Remove locale constant strings in favor of access to locale-specifc data. (_ctloc): Define access method for locale-specifc data. (strptime): Throughout, convert locale-specific formats to use locale-specific data.
* * libc/locale/nl_langinfo.c (nl_langinfo): On Cygwin, translateCorinna Vinschen2010-01-201-6/+19
| | | | often-used charsets into Linux compatible codesets.
* * libc/locale/locale.c (loadlocale): Change comments to refer toCorinna Vinschen2010-01-171-2/+2
| | | | ISO 639-3 rather than 639-2.
* * libc/locale/locale.c (loadlocale): Allow three characterCorinna Vinschen2010-01-171-2/+7
| | | | language codes to accommodate ISO 639-2 codes.
* * libc/locale/locale.c (lc_ctype_charset): Disable defaulting toCorinna Vinschen2010-01-171-2/+2
| | | | | | | | | "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.
* 2009-10-20 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2009-10-201-91/+92
| | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* * libc/locale/nl_langinfo.c (nl_langinfo): Add Cygwin-specific temporaryCorinna Vinschen2009-10-151-0/+6
| | | | exception for KOI8 charsets.
* * libc/locale/locale.c (DEFAULT_LOCALE): New define.Corinna Vinschen2009-10-091-2/+14
| | | | | (__default_locale): New global variable set to the default locale. (__get_locale_env): Return __default_locale rather than fixed "C".
* * libc/locale/nl_langinfo.c (nl_langinfo): Just return current localeCorinna Vinschen2009-10-071-0/+8
| | | | charset on Cygwin.
* * libc/locale/locale.c (loadlocale): Allow "C." same as "C-" as localeCorinna Vinschen2009-09-291-2/+13
| | | | prefix. Add some words to documentation.
* * libc/locale/locale.c (lc_ctype_charset): Set to "UTF-8" on Cygwin.Corinna Vinschen2009-09-271-0/+9
| | | | | | | | | (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.
* * libc/locale/locale.c: Drop Cygwin-specific windows.h include.Corinna Vinschen2009-09-231-4/+1
| | | | (loadlocale): Call __set_charset_from_codepage with 0 codepage.
* 2009-08-25 Andy Koppe <andy.koppe@gmail.com>Jeff Johnston2009-08-251-0/+1
| | | | | | | | * 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-11/+30
| | | | | | | | | | | * 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.
* * libc/locale/locale.c (loadlocale): Throughout check charset stringCorinna Vinschen2009-08-211-11/+29
| | | | | case insensitive and store internal charset string uppercased. Allow "UTF8" additionally to "UTF-8". Add this change to documentation.
* * libc/locale/locale.c (loadlocale): Add handling of "@cjknarrow"Corinna Vinschen2009-06-181-27/+67
| | | | | modifier on _MB_CAPABLE targets. Add comment to explain. Improve documentation.
* * libc/include/locale.h (struct lconv): Add missing members requiredCorinna Vinschen2009-06-161-0/+2
| | | | | | by POSIX.1-2008. * libc/locale/locale.c (lconv): Initialize new members to default values in "C" locale.
* * libc/string/wcwidth.c: Optimize for speed.Corinna Vinschen2009-06-031-0/+15
| | | | | | | | | | | * libc/locale/locale.c (lc_ctype_cjk_lang): New static int. (loadlocale): In case of setting LC_CTYPE, set lc_ctype_cjk_lang to 1 if the language is "jp", "ko", or "zh", to 0 otherwise. (__locale_cjk_lang): New function. * libc/string/local.h (__locale_cjk_lang): Declare. * libc/string/wcwidth.c: Fix comments. (__wcwidth): Handle CJK Ambiguous Width characters according to setting returned by __locale_cjk_lang.
* * libc/locale/locale.c (setlocale): Don't build on Cygwin.Corinna Vinschen2009-05-131-1/+2
|
* * libc/locale/locale.c (loadlocale): Set mbc_max to 3 for EUCJP.Corinna Vinschen2009-04-061-1/+1
|
* * libc/ctype/Makefile.am: Remove _tolower.c and _toupper.cCorinna Vinschen2009-03-311-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | source files. Add a dependency rule for ctype_o to note changes in ctype_iso.h and ctype_cp.h. * libc/ctype/Makefile.in: Regenerate. * libc/ctype/_tolower.c: Remove file. * libc/ctype/_toupper.c: Remove file. * libc/ctype/ctype_.c: Make sure ALLOW_NEGATIVE_CTYPE_INDEX is always defined on Cygwin. (_ctype_b): Don't make `static const' on Cygwin. (ctype_iso.h): Include if _MB_EXTENDED_CHARSETS_ISO is set. (ctype_cp.h): Include if _MB_EXTENDED_CHARSETS_WINDOWS is set. (__ctype_ptr): Drop definition. (__ctype_ptr__): De-constify. Mark as __EXPORT symbol. (_ctype_): Add Cygwin-specifc asm define. (__set_ctype): New function to set __ctype_ptr__ according to current charset. * libc/ctype/ctype_cp.h: New file containing Windows codepage specific character class tables. * libc/ctype/ctype_iso.h: New file containing ISO-8859-x specific character class tables. * libc/ctype/tolower.c (tolower): Reimplement to support any singlebyte charset if one of the extended charsets is enabled. * libc/ctype/toupper.c (toupper): Ditto. * libc/include/ctype.h (_tolower): Define as macro per POSIX. (_toupper): Ditto. (__ctype_ptr__): De-constify. (toupper): Disable macro on systems supporting extended charsets. (tolower): Ditto. * libc/include/sys/config.h (__EXPORT): Define empty if not defined. * libc/locale/locale.c (__mb_cur_max): Mark as __EXPORT symbol. (__set_ctype): Declare unconditionally. (loadlocale): Remove __CYGWIN__ guard around __set_ctype call.
* * libc/locale/locale.c (loadlocale): Revert to charset "GBK" insteadCorinna Vinschen2009-03-261-2/+2
| | | | of "GB2312". Fix documentation accordingly.
* * libc/locale/locale.c (loadlocale): Only change __wctomb and __mbtowcCorinna Vinschen2009-03-251-24/+31
| | | | pointers if category is LC_CTYPE.
* * libc/locale/locale.c (loadlocale): Rename charset "GBK" toCorinna Vinschen2009-03-251-3/+3
| | | | "GB2312". Fix documentation accordingly.
* * libc/locale/locale.c (loadlocale): Rename charset "CP949" toCorinna Vinschen2009-03-241-24/+30
| | | | "eucKR". Fix documentation accordingly.
* * libc/locale/locale.c (loadlocale): Allow charset starting with 'e'Corinna Vinschen2009-03-241-0/+1
| | | | for "eucJP" charset support.
* * libc/ctype/iswalpha.c: Handle all wchar_t as unicode onCorinna Vinschen2009-03-241-17/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _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/locale/locale.c (loadlocale): Fix typo in language andCorinna Vinschen2009-03-231-4/+4
| | | | territory evaluation.
* * libc/locale/locale.c (_setlocale_r): New implementation based onCorinna Vinschen2009-03-031-144/+371
| | | | | | | | | | | | | | | | | | | | | | | 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.
* 2008-11-24 Craig Howland <howland@LGSInnovations.com>Jeff Johnston2008-11-241-0/+4
| | | | | | | | | | | | | | | | | | | | * 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.
* * 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.
* 2007-12-19 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2007-12-191-8/+8
| | | | | | | | | | | | | | | | | * 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.
* * 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