- Remove charset parameter from low level __foo_wctomb/__foo_mbtowc calls. - Instead, create array of function for ISO and Windows codepages to point to function which does not require to evaluate the charset string on each call. Create matching helper functions. I.e., __iso_wctomb, __iso_mbtowc, __cp_wctomb and __cp_mbtowc are functions returning the right function pointer now. - Create __WCTOMB/__MBTOWC macros utilizing per-reent locale and replace calls to __wctomb/__mbtowc with calls to __WCTOMB/__MBTOWC. - Drop global __wctomb/__mbtowc vars. - Utilize aforementioned changes in Cygwin to get rid of charset in other, calling functions and simplify the code. - In Cygwin restrict global cygheap locale info to the job performed by internal_setlocale. Use UTF-8 instead of ASCII on the fly in internal conversion functions. - In Cygwin dll_entry, make sure to initialize a TLS area with a NULL _REENT->_locale pointer. Add comment to explain why. Signed-off by: Corinna Vinschen <corinna@vinschen.de> |
||
---|---|---|
.. | ||
Makefile.am | ||
Makefile.in | ||
asctime.c | ||
asctime_r.c | ||
clock.c | ||
ctime.c | ||
ctime_r.c | ||
difftime.c | ||
gettzinfo.c | ||
gmtime.c | ||
gmtime_r.c | ||
lcltime.c | ||
lcltime_r.c | ||
local.h | ||
mktime.c | ||
month_lengths.c | ||
strftime.c | ||
strptime.c | ||
time.c | ||
time.tex | ||
tzcalc_limits.c | ||
tzlock.c | ||
tzset.c | ||
tzset_r.c | ||
tzvars.c | ||
wcsftime.c |