newlib-cygwin/newlib/libc/locale
Corinna Vinschen 8d138c3f66 Cygwin: fix LC_CTYPE in global locale to be a real C.UTF-8 locale
https://cygwin.com/pipermail/cygwin/2022-December/252571.html

Cygwin's default locale is "C.UTF-8" as far as LC_CTYPE settings
are concerned.  However, while __global_locale contains fixed
mbtowc and wctomb pointers, the lc_ctype_T pointer is still pointing
to _C_ctype_locale, representing the standard "C" locale.

The problem with this is that the codeset name as well as MB_CUR_MAX
is wrong.

Fix this by introducing a new lc_ctype_T structure called
_C_utf8_ctype_locale, setting the default codeset to "UTF-8" and
MB_CUR_MAX to 6.  Use this as lc_ctype_T pointer in __global_locale
by default on Cygwin.

Fixes: a6a477fa81 ("POSIX-1.2008 per-thread locales, groundwork part 1")
Co-Authored-By: Takashi Yano <takashi.yano@nifty.ne.jp>
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2022-12-03 16:16:30 +01:00
..
Makefile.inc newlib: libc: merge build up a directory 2022-03-16 21:18:25 -04:00
duplocale.c locale: remove TRAD_SYNOPSIS 2017-12-01 03:41:50 -06:00
freelocale.c locale: remove TRAD_SYNOPSIS 2017-12-01 03:41:50 -06:00
lctype.c Cygwin: fix LC_CTYPE in global locale to be a real C.UTF-8 locale 2022-12-03 16:16:30 +01:00
lmessages.c Remove non-working __part_load_locale function and any related code 2016-08-15 10:56:57 +02:00
lmonetary.c Remove non-working __part_load_locale function and any related code 2016-08-15 10:56:57 +02:00
lnumeric.c Remove non-working __part_load_locale function and any related code 2016-08-15 10:56:57 +02:00
locale.c Cygwin: fix LC_CTYPE in global locale to be a real C.UTF-8 locale 2022-12-03 16:16:30 +01:00
locale.tex Fix mismatched parentheses in documentation. 2015-06-24 12:23:25 +01:00
localeconv.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
newlocale.c newlocale: fix crash when trying to write to __C_locale 2022-08-12 12:29:26 +02:00
nl_langinfo.3 * libc/include/langinfo.h: New file. 2002-08-23 01:56:05 +00:00
nl_langinfo.c nl_langinfo: Add NL_LOCALE_NAME macro 2017-01-20 10:30:47 +01:00
setlocale.h Cygwin: fix LC_CTYPE in global locale to be a real C.UTF-8 locale 2022-12-03 16:16:30 +01:00
timelocal.c Remove non-working __part_load_locale function and any related code 2016-08-15 10:56:57 +02:00
uselocale.c Add _REENT_LOCALE(ptr) 2022-07-13 06:55:46 +02:00