* cygheap.cc (cygheap_init): Default locale.charset to "UTF-8".
* dcrt0.cc (dll_crt0_1): Call setlocale (LC_CTYPE, "") here, just before resetting application locale to "C". * environ.cc (environ_init): Drop code setting locale here. * syscalls.cc (check_codepage): Break out check for required codepage from internal_setlocale. (internal_setlocale): Just convert CWD and $PATH from old charset to new charset and set internal charset. (setlocale): Change accordingly. Don't require LC_ALL or LC_CTYPE to store old locale value. Always call internal_setlocale if charset changed due to locale environment changes.
This commit is contained in:
@@ -164,7 +164,7 @@ cygheap_init ()
|
||||
/* Default locale settings. */
|
||||
cygheap->locale.mbtowc = __utf8_mbtowc;
|
||||
cygheap->locale.wctomb = __utf8_wctomb;
|
||||
strcpy (cygheap->locale.charset, "ASCII");
|
||||
strcpy (cygheap->locale.charset, "UTF-8");
|
||||
/* Set umask to a sane default. */
|
||||
cygheap->umask = 022;
|
||||
}
|
||||
|
Reference in New Issue
Block a user