Cygwin-specific patch from Andy Koppe:
* libc/locale/locale.c (current_categories): On Cygwin, set LC_CTYPE to C.UTF-8 to match initial __wctomb and __mbtowc settings. (lc_ctype_charset): On Cygwin, initialize to "UTF-8". (loadlocale): Remove unused Cygwin-specifc code.
This commit is contained in:
parent
aa8097021e
commit
6e16da9dec
@ -1,3 +1,10 @@
|
|||||||
|
2011-05-04 Andy Koppe <andy.koppe@gmail.com>
|
||||||
|
|
||||||
|
* libc/locale/locale.c (current_categories): On Cygwin, set LC_CTYPE
|
||||||
|
to C.UTF-8 to match initial __wctomb and __mbtowc settings.
|
||||||
|
(lc_ctype_charset): On Cygwin, initialize to "UTF-8".
|
||||||
|
(loadlocale): Remove unused Cygwin-specifc code.
|
||||||
|
|
||||||
2011-05-02 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
2011-05-02 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
||||||
|
|
||||||
* libc/include/sys/features.h [__CYGWIN__] (_POSIX_SPIN_LOCKS): Define.
|
* libc/include/sys/features.h [__CYGWIN__] (_POSIX_SPIN_LOCKS): Define.
|
||||||
|
@ -235,7 +235,11 @@ char __default_locale[ENCODING_LEN + 1] = DEFAULT_LOCALE;
|
|||||||
static char current_categories[_LC_LAST][ENCODING_LEN + 1] = {
|
static char current_categories[_LC_LAST][ENCODING_LEN + 1] = {
|
||||||
"C",
|
"C",
|
||||||
"C",
|
"C",
|
||||||
|
#ifdef __CYGWIN__ /* Cygwin starts with LC_CTYPE set to "C.UTF-8". */
|
||||||
|
"C.UTF-8",
|
||||||
|
#else
|
||||||
"C",
|
"C",
|
||||||
|
#endif
|
||||||
"C",
|
"C",
|
||||||
"C",
|
"C",
|
||||||
"C",
|
"C",
|
||||||
@ -255,13 +259,12 @@ static const char *__get_locale_env(struct _reent *, int);
|
|||||||
|
|
||||||
#endif /* _MB_CAPABLE */
|
#endif /* _MB_CAPABLE */
|
||||||
|
|
||||||
#if 0 /*def __CYGWIN__ TODO: temporarily(?) disable C == UTF-8 */
|
#ifdef __CYGWIN__
|
||||||
static char lc_ctype_charset[ENCODING_LEN + 1] = "UTF-8";
|
static char lc_ctype_charset[ENCODING_LEN + 1] = "UTF-8";
|
||||||
static char lc_message_charset[ENCODING_LEN + 1] = "UTF-8";
|
|
||||||
#else
|
#else
|
||||||
static char lc_ctype_charset[ENCODING_LEN + 1] = "ASCII";
|
static char lc_ctype_charset[ENCODING_LEN + 1] = "ASCII";
|
||||||
static char lc_message_charset[ENCODING_LEN + 1] = "ASCII";
|
|
||||||
#endif
|
#endif
|
||||||
|
static char lc_message_charset[ENCODING_LEN + 1] = "ASCII";
|
||||||
static int lc_ctype_cjk_lang = 0;
|
static int lc_ctype_cjk_lang = 0;
|
||||||
|
|
||||||
char *
|
char *
|
||||||
@ -495,11 +498,7 @@ restart:
|
|||||||
if (!strcmp (locale, "POSIX"))
|
if (!strcmp (locale, "POSIX"))
|
||||||
strcpy (locale, "C");
|
strcpy (locale, "C");
|
||||||
if (!strcmp (locale, "C")) /* Default "C" locale */
|
if (!strcmp (locale, "C")) /* Default "C" locale */
|
||||||
#if 0 /*def __CYGWIN__ TODO: temporarily(?) disable C == UTF-8 */
|
|
||||||
strcpy (charset, "UTF-8");
|
|
||||||
#else
|
|
||||||
strcpy (charset, "ASCII");
|
strcpy (charset, "ASCII");
|
||||||
#endif
|
|
||||||
else if (locale[0] == 'C'
|
else if (locale[0] == 'C'
|
||||||
&& (locale[1] == '-' /* Old newlib style */
|
&& (locale[1] == '-' /* Old newlib style */
|
||||||
|| locale[1] == '.')) /* Extension for the C locale to allow
|
|| locale[1] == '.')) /* Extension for the C locale to allow
|
||||||
|
Loading…
x
Reference in New Issue
Block a user