23#if defined (_STLP_MSVC) || defined (__ICL)
31#if defined (_STLP_USE_SAFE_STRING_FUNCTIONS)
32# define _STLP_STRCPY(D, DS, S) strcpy_s(D, DS, S)
33# define _STLP_STRNCPY(D, DS, S, C) strncpy_s(D, DS, S, C)
34# define _STLP_STRCAT(D, DS, S) strcat_s(D, DS, S)
36# define _STLP_STRCPY(D, DS, S) strcpy(D, S)
37# define _STLP_STRNCPY(D, DS, S, C) strncpy(D, S, C)
38# define _STLP_STRCAT(D, DS, S) strcat(D, S)
41#if defined (__cplusplus)
59#define MAX_LANG_LEN 64
60#define MAX_CTRY_LEN 64
61#define MAX_MODIFIER_LEN 0
62#define MAX_LC_LEN (MAX_LANG_LEN+MAX_CTRY_LEN+MAX_MODIFIER_LEN+3)
66#if !defined (LANG_INVARIANT)
67# define LANG_INVARIANT 0x7f
68# define _STLP_LANG_INVARIANT_DEFINED
79#define INVARIANT_LCID MAKELCID(MAKELANGID(LANG_INVARIANT, SUBLANG_NEUTRAL), SORT_DEFAULT)
86 {
"american english",
"ENU"},
87 {
"american-english",
"ENU"},
88 {
"australian",
"ENA"},
94 {
"chinese-hongkong",
"ZHH"},
95 {
"chinese-simplified",
"CHS"},
96 {
"chinese-singapore",
"ZHI"},
97 {
"chinese-traditional",
"CHT"},
98 {
"dutch-belgian",
"NLB"},
99 {
"english-american",
"ENU"},
100 {
"english-aus",
"ENA"},
101 {
"english-belize",
"ENL"},
102 {
"english-can",
"ENC"},
103 {
"english-caribbean",
"ENB"},
104 {
"english-ire",
"ENI"},
105 {
"english-jamaica",
"ENJ"},
106 {
"english-nz",
"ENZ"},
107 {
"english-south africa",
"ENS"},
108 {
"english-trinidad y tobago",
"ENT"},
109 {
"english-uk",
"ENG"},
110 {
"english-us",
"ENU"},
111 {
"english-usa",
"ENU"},
112 {
"french-belgian",
"FRB"},
113 {
"french-canadian",
"FRC"},
114 {
"french-luxembourg",
"FRL"},
115 {
"french-swiss",
"FRS"},
116 {
"german-austrian",
"DEA"},
117 {
"german-lichtenstein",
"DEC"},
118 {
"german-luxembourg",
"DEL"},
119 {
"german-swiss",
"DES"},
120 {
"irish-english",
"ENI"},
121 {
"italian-swiss",
"ITS"},
122 {
"norwegian",
"NOR"},
123 {
"norwegian-bokmal",
"NOR"},
124 {
"norwegian-nynorsk",
"NON"},
125 {
"portuguese-brazilian",
"PTB"},
126 {
"spanish-argentina",
"ESS"},
127 {
"spanish-bolivia",
"ESB"},
128 {
"spanish-chile",
"ESL"},
129 {
"spanish-colombia",
"ESO"},
130 {
"spanish-costa rica",
"ESC"},
131 {
"spanish-dominican republic",
"ESD"},
132 {
"spanish-ecuador",
"ESF"},
133 {
"spanish-el salvador",
"ESE"},
134 {
"spanish-guatemala",
"ESG"},
135 {
"spanish-honduras",
"ESH"},
136 {
"spanish-mexican",
"ESM"},
137 {
"spanish-modern",
"ESN"},
138 {
"spanish-nicaragua",
"ESI"},
139 {
"spanish-panama",
"ESA"},
140 {
"spanish-paraguay",
"ESZ"},
141 {
"spanish-peru",
"ESR"},
142 {
"spanish-puerto rico",
"ESU"},
143 {
"spanish-uruguay",
"ESY"},
144 {
"spanish-venezuela",
"ESV"},
145 {
"swedish-finland",
"SVF"},
159 {
"great britain",
"GBR"},
161 {
"hong-kong",
"HKG"},
162 {
"new-zealand",
"NZL"},
166 {
"puerto-rico",
"PRI"},
168 {
"south africa",
"ZAF"},
169 {
"south korea",
"KOR"},
170 {
"south-africa",
"ZAF"},
171 {
"south-korea",
"KOR"},
172 {
"trinidad & tobago",
"TTO"},
174 {
"united-kingdom",
"GBR"},
175 {
"united-states",
"USA"},
245static char*
__ConvertToCP(
int from_cp,
int to_cp,
const char *
from,
size_t size,
size_t *ret_buf_size);
255 for (; __x != 0; __x /= 10)
256 *
ptr++ = (
char)(__x % 10) +
'0';
263#if defined (__cplusplus)
269{
return (ltype != 0) ? <ype->
lc : 0; }
271{
return (lnumeric != 0) ? &lnumeric->
lc : 0; }
273{
return (ltime != 0) ? <ime->
lc : 0; }
275{
return (lcollate != 0) ? &lcollate->
lc : 0; }
277{
return (lmonetary != 0) ? &lmonetary->
lc : 0; }
283#define MAP(x, y) if ((mask & x) != 0) ret |= (y)
285 unsigned short ret = 0;
307 unsigned char Buffer[256];
322#if defined (__BORLANDC__)
324 { ltype->
lc.
id = 0x409; }
327 ltype->
cp =
atoi(cp_name);
332 for (
i = 0;
i < 256; ++
i)
Buffer[
i] = (
unsigned char)
i;
341 if ((
UINT)NativeCP != ltype->
cp) {
358 unsigned short ctable[256];
359 unsigned char TargetBuffer[256];
374 for (
i = 0;
i < 256; ++
i) {
375 if (!TargetBuffer[
i])
continue;
389 char *GroupingBuffer;
399#if defined (__BORLANDC__)
404#if defined (__BORLANDC__)
429 const char *cur_char;
430 char *cur_output, *end_output;
435 end_output = cur_output + buf_size;
438 if (cur_output && (cur_output == end_output))
break;
442 if (*(cur_char + 1) ==
'd') {
443 if (cur_output && (cur_output + 2 > end_output)) {
447 if (*(cur_char + 2) ==
'd') {
448 if (*(cur_char + 3) ==
'd') {
449 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'A'; }
454 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'a'; }
460 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'd'; }
466 if (cur_output && (cur_output + 3 > end_output)) {
470 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'#'; *(cur_output++) =
'd'; }
477 if (*(cur_char + 1) ==
'M') {
478 if (cur_output && (cur_output + 2 > end_output)) {
482 if (*(cur_char + 2) ==
'M') {
483 if (*(cur_char + 3) ==
'M') {
484 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'B'; }
489 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'b'; }
495 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'm'; }
501 if (cur_output && (cur_output + 3 > end_output)) {
505 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'#'; *(cur_output++) =
'm'; }
512 if (*(cur_char + 1) ==
'y') {
513 if (cur_output && (cur_output + 2 > end_output)) {
517 if (*(cur_char + 2) ==
'y' && *(cur_char + 3) ==
'y') {
518 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'Y'; }
523 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'y'; }
529 if (cur_output && (cur_output + 3 > end_output)) {
533 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'#'; *(cur_output++) =
'y'; }
540 if (cur_output && (cur_output + 2 > end_output)) {
544 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'%'; }
551 while (*cur_char !=
'\'' && *cur_char != 0 && (cur_output ==
NULL || cur_output != end_output)) {
552 if (cur_output) { *cur_output++ = *cur_char; }
560 if (cur_output) { *(cur_output++) = *cur_char; }
565 if (*cur_char == 0)
break;
569 if (!cur_output || cur_output != end_output) {
570 if (cur_output) *cur_output = 0;
582 const char *cur_char;
583 char *cur_output, *end_output;
586 end_output = cur_output + buf_size;
591 if (*(cur_char + 1) ==
'h') {
592 if (cur_output && (cur_output + 2 > end_output)) {
596 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'I'; }
601 if (cur_output && (cur_output + 3 > end_output)) {
605 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'#'; *(cur_output++) =
'I'; }
610 if (*(cur_char + 1) ==
'H') {
611 if (cur_output && (cur_output + 2 > end_output)) {
615 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'H'; }
620 if (cur_output && (cur_output + 3 > end_output)) {
624 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'#'; *(cur_output++) =
'H'; }
629 if (*(cur_char + 1) ==
'm') {
630 if (cur_output && (cur_output + 2 > end_output)) {
634 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'M'; }
639 if (cur_output && (cur_output + 3 > end_output)) {
643 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'#'; *(cur_output++) =
'M'; }
648 if (*(cur_char + 1) ==
's') {
649 if (cur_output && (cur_output + 2 > end_output)) {
653 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'S'; }
658 if (cur_output && (cur_output + 3 > end_output)) {
662 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'#'; *(cur_output++) =
'S'; }
667 if (*(cur_char + 1) ==
't')
669 if (cur_output && (cur_output + 2 > end_output)) {
673 if (cur_output) { *(cur_output++) =
'%'; *(cur_output++) =
'p'; }
677 if (cur_output && (cur_output + 2 > end_output)) {
681 if (cur_output) { *(cur_output++)=
'%'; *(cur_output++)=
'%'; }
686 while (*cur_char !=
'\'' && *cur_char != 0 && (!cur_output || (cur_output != end_output))) {
687 if (cur_output) *cur_output++ = *cur_char;
693 if (cur_output) { *(cur_output++) = *cur_char; }
697 if (*cur_char == 0)
break;
701 if (!cur_output || cur_output != end_output) {
702 if (cur_output) *cur_output = 0;
727#if defined (__BORLANDC__)
729 { ltime->
lc.
id = 0x409; }
819#if defined (__BORLANDC__)
821 { lcol->
lc.
id = 0x409; }
828 char *GroupingBuffer;
953 for (
i = 0;
i < 12; ++
i) {
958 for (
i = 0;
i < 7; ++
i) {
991 if (cname == 0 || (cname[0] ==
'C' && cname[1] == 0)) {
1019 if (cname[0] ==
'L' && cname[1] ==
'C' && cname[2] ==
'_') {
1022 if (cname[0] ==
'C' && cname[1] == 0) {
1036 char buf[2], out_buf[2];
1056 char buf[2], out_buf[2];
1076# define CSTR_EQUAL 2
1078#ifndef CSTR_LESS_THAN
1079# define CSTR_LESS_THAN 1
1088 const char*
s1,
size_t n1,
1089 const char*
s2,
size_t n2) {
1091 while (
n1 > 0 ||
n2 > 0) {
1104 const char*
s1,
size_t n1,
1105 const char*
s2,
size_t n2) {
1112 size_t size1, size2;
1123 char*
dst,
size_t dst_size,
1124 const char*
src,
size_t src_size) {
1212 if (loc_data[0] ==
'0')
return 0;
1213 else if (loc_data[0] ==
'1')
return 1;
1220 if (loc_data[0] ==
'0')
return 0;
1221 else if (loc_data[0] ==
'1')
return 1;
1229 return atoi(loc_data);
1239 if (loc_data[0] ==
'0')
return 0;
1240 else if (loc_data[0] ==
'1')
return 1;
1247 if (loc_data[0] ==
'0')
return 0;
1248 else if (loc_data[0] ==
'1')
return 1;
1256 return atoi(loc_data);
1265 const char **
names = (
const char**)ltime->
month;
1300{
return ltime->
am; }
1303{
return ltime->
pm; }
1316 int setid,
int msgid,
const char *dfault) {
1332 char building_group = 0;
1333 char repeat_last = 0;
1337 if (*
g >
'0' && *
g <=
'9') {
1338 if (!building_group) {
1339 *grouping = *
g -
'0';
1344 *grouping = *grouping * 10 + *
g -
'0';
1347 else if (*
g ==
'0') {
1348 if (!building_group) {
1355 else if (*
g ==
';') {
1376 while (low <= high) {
1377 i = (low + high) / 2;
1380 return (*(ConvTable +
i)).abbrev;
1390 char*
lang,
char* ctry,
char*
page) {
1400 if (lname[
len] ==
'_') {
1410 while (lname[tmpLen] ==
'.') {
1411 len = tmpLen; ++tmpLen;
1412 tmpLen +=
strcspn(lname + tmpLen,
".");
1428 if (
len == 0)
return -1;
1471 unsigned long result = 0;
1486 int LangFlag = 0, CtryFlag = !
__FndCtry;
1514 if (LangFlag && CtryFlag) {
1542 if (lname ==
NULL || lname[0] == 0) {
1556 if (
lang[0] == 0 && ctry[0] == 0)
1564 if (
lang[0] ==
'C' &&
lang[1] == 0) {
1602 if (
cp[1] == 0 && (
cp[0] ==
'0' ||
cp[1] ==
'1'))
1632 if (loc[0] ==
'L' && loc[1] ==
'C' && loc[2] ==
'_') {
1690#if defined (_STLP_LANG_INVARIANT_DEFINED)
1718 size_t wbuffer_size,
buffer_size, from_offset, wbuf_offset;
1719 int from_size, to_size, wbuf_size;
1723 size_t orig_size =
size;
1730 from + from_offset, from_size,
NULL, 0);
1731 from_offset += from_size;
1735 wbuffer = (
wchar_t*)
malloc(
sizeof(
wchar_t)*wbuffer_size);
1744 from + from_offset, from_size, wbuffer + wbuf_offset, wbuf_size);
1745 from_offset += from_size;
1751 size = wbuffer_size;
1755 wbuffer + wbuf_offset, wbuf_size,
1757 wbuf_offset += wbuf_size;
1764 size = wbuffer_size;
1770 wbuffer + wbuf_offset, wbuf_size,
1772 wbuf_offset += wbuf_size;
1784#ifndef _STLP_NO_WCHAR_T
#define _STLP_MARK_PARAMETER_AS_UNUSED(X)
char * strstr(char *String1, char *String2)
ACPI_SIZE strlen(const char *String)
char * strchr(const char *String, int ch)
static _Locale_mask_t ctable[256]
static int __GetLCID(const char *lang, const char *ctry, LCID *lcid)
const char * _Locale_negative_sign(_Locale_monetary_t *lmon)
char const * _Locale_extract_collate_name(const char *cname, char *buf, _Locale_lcid_t *hint, int *__err_code)
char _Locale_decimal_point(_Locale_numeric_t *lnum)
char const * _Locale_extract_time_name(const char *cname, char *buf, _Locale_lcid_t *hint, int *__err_code)
char const * _Locale_time_name(const _Locale_time_t *ltime, char *buf)
const char * _Locale_full_monthname(_Locale_time_t *ltime, int month)
void _Locale_time_destroy(_Locale_time_t *ltime)
static void my_ltoa(long __x, char *buf)
void _Locale_numeric_destroy(_Locale_numeric_t *lnum)
static int __intGetOCP(LCID lcid)
char const * _Locale_numeric_name(const _Locale_numeric_t *lnum, char *buf)
unsigned short MapCtypeMask(unsigned short mask)
void _Locale_catclose(struct _Locale_messages *lmes, nl_catd_type cat)
int _Locale_n_cs_precedes(_Locale_monetary_t *lmon)
_Locale_lcid_t * _Locale_get_numeric_hint(_Locale_numeric_t *lnumeric)
static const char * __ConvertName(const char *lname, LOCALECONV *ConvTable, int TableSize)
static int trim_size_t_to_int(size_t n)
const char * _Locale_currency_symbol(_Locale_monetary_t *lmon)
const char * _Locale_t_fmt(_Locale_time_t *ltime)
static void __FixGrouping(char *grouping)
static void MapCtypeMasks(unsigned short *cur, unsigned short *end)
static const char * __false_name
#define _STLP_STRCPY(D, DS, S)
int _Locale_n_sign_posn(_Locale_monetary_t *lmon)
const _Locale_mask_t * _Locale_ctype_table(_Locale_ctype_t *ltype)
static int __intGetACP(LCID lcid)
const char * _Locale_false(_Locale_numeric_t *lnum)
static const char * __FndCtry
_Locale_ctype_t * _Locale_ctype_create(const char *name, _Locale_lcid_t *lc_hint, int *__err_code)
const char * _Locale_pm_str(_Locale_time_t *ltime)
_Locale_lcid_t * _Locale_get_messages_hint(struct _Locale_messages *lmessages)
#define _STLP_STRNCPY(D, DS, S, C)
char const * _Locale_extract_ctype_name(const char *cname, char *buf, _Locale_lcid_t *hint, int *__err_code)
static const char * __FndLang
char const * _Locale_extract_monetary_name(const char *cname, char *buf, _Locale_lcid_t *hint, int *__err_code)
int _Locale_tolower(_Locale_ctype_t *ltype, int c)
#define _STLP_STRCAT(D, DS, S)
_Locale_lcid_t * _Locale_get_ctype_hint(_Locale_ctype_t *ltype)
const char * _Locale_positive_sign(_Locale_monetary_t *lmon)
const char * _Locale_int_curr_symbol(_Locale_monetary_t *lmon)
struct _Locale_numeric _Locale_numeric_t
const char * _Locale_time_default(char *buf)
char const * _Locale_extract_numeric_name(const char *cname, char *buf, _Locale_lcid_t *hint, int *__err_code)
void _Locale_collate_destroy(_Locale_collate_t *lcol)
static DWORD trim_size_t_to_DWORD(size_t n)
const char * _Locale_d_fmt(_Locale_time_t *ltime)
struct _Locale_ctype _Locale_ctype_t
void _Locale_monetary_destroy(_Locale_monetary_t *lmon)
struct _Locale_time _Locale_time_t
static char const * __Extract_locale_name(const char *loc, const char *category, char *buf)
static LOCALECONV __rg_language[]
char _Locale_int_frac_digits(_Locale_monetary_t *lmon)
static int __ParseLocaleString(const char *lname, char *lang, char *ctry, char *page)
const char * _Locale_catgets(struct _Locale_messages *lmes, nl_catd_type cat, int setid, int msgid, const char *dfault)
char const * _Locale_ctype_name(const _Locale_ctype_t *ltype, char *buf)
_Locale_lcid_t * _Locale_get_collate_hint(_Locale_collate_t *lcollate)
struct _LOCALECONV LOCALECONV
const char * _Locale_ctype_default(char *buf)
const char * _Locale_abbrev_dayofweek(_Locale_time_t *ltime, int day)
void _Locale_ctype_destroy(_Locale_ctype_t *ltype)
const char * _Locale_numeric_default(char *buf)
const char * _Locale_mon_grouping(_Locale_monetary_t *lmon)
char const * _Locale_extract_messages_name(const char *cname, char *buf, _Locale_lcid_t *hint, int *__err_code)
static void __GetLocaleInfoUsingACP(LCID lcid, const char *cp, LCTYPE lctype, char *buf, int buf_size, wchar_t *wbuf, int wbuf_size)
struct _Locale_monetary _Locale_monetary_t
static const char * __true_name
static char const * _Locale_extract_category_name(const char *name, const char *category, char *buf, _Locale_lcid_t *hint, int *__err_code)
static int __GetLCIDFromName(const char *lname, LCID *lcid, char *cp, _Locale_lcid_t *hint)
const char * _Locale_monetary_default(char *buf)
int _Locale_n_sep_by_space(_Locale_monetary_t *lmon)
char _Locale_frac_digits(_Locale_monetary_t *lmon)
char _Locale_mon_thousands_sep(_Locale_monetary_t *lmon)
const char * _Locale_true(_Locale_numeric_t *lnum)
struct _Locale_messages * _Locale_messages_create(const char *name, _Locale_lcid_t *lc_hint, int *__err_code)
const char * _Locale_long_d_t_fmt(_Locale_time_t *ltime)
static BOOL CALLBACK EnumLocalesProcA(LPSTR locale)
const char * _Locale_long_d_fmt(_Locale_time_t *ltime)
static char const * __GetLocaleName(LCID lcid, const char *cp, char *buf)
static int __GetDefaultCP(LCID lcid)
char const * _Locale_monetary_name(const _Locale_monetary_t *lmon, char *buf)
void _Locale_messages_destroy(struct _Locale_messages *lmes)
struct _Locale_name_hint _Locale_lcid_t
int _Locale_toupper(_Locale_ctype_t *ltype, int c)
_Locale_collate_t * _Locale_collate_create(const char *name, _Locale_lcid_t *lc_hint, int *__err_code)
static CRITICAL_SECTION __criticalSection
_Locale_monetary_t * _Locale_monetary_create(const char *name, _Locale_lcid_t *lc_hint, int *__err_code)
char _Locale_mon_decimal_point(_Locale_monetary_t *lmon)
char _Locale_thousands_sep(_Locale_numeric_t *lnum)
int _Locale_p_sep_by_space(_Locale_monetary_t *lmon)
static int _Locale_strcmp_auxA(_Locale_collate_t *lcol, const char *s1, size_t n1, const char *s2, size_t n2)
char const * _Locale_collate_name(const _Locale_collate_t *lcol, char *buf)
const char * _Locale_messages_default(char *buf)
struct _Locale_collate _Locale_collate_t
nl_catd_type _Locale_catopen(struct _Locale_messages *lmes, const char *cat_name)
const char * _Locale_abbrev_monthname(_Locale_time_t *ltime, int month)
static LCID LocaleFromHex(const char *locale)
size_t _Locale_strxfrm(_Locale_collate_t *lcol, char *dst, size_t dst_size, const char *src, size_t src_size)
static int __ConvertDate(const char *NTDate, char *buffer, int buf_size)
const char * _Locale_am_str(_Locale_time_t *ltime)
int _Locale_p_cs_precedes(_Locale_monetary_t *lmon)
static char const * __TranslateToSystem(const char *lname, char *buf, _Locale_lcid_t *hint, int *__err_code)
const char * _Locale_grouping(_Locale_numeric_t *lnum)
const char * _Locale_full_dayofweek(_Locale_time_t *ltime, int day)
_Locale_time_t * _Locale_time_create(const char *name, _Locale_lcid_t *lc_hint, int *__err_code)
int _Locale_p_sign_posn(_Locale_monetary_t *lmon)
static const char * _C_name
static LOCALECONV __rg_country[]
_Locale_numeric_t * _Locale_numeric_create(const char *name, _Locale_lcid_t *lc_hint, int *__err_code)
static int __ConvertTime(const char *NTTime, char *buffer, int buf_size)
const char * _Locale_d_t_fmt(_Locale_time_t *ltime)
char const * _Locale_messages_name(const struct _Locale_messages *lmes, char *buf)
_Locale_lcid_t * _Locale_get_monetary_hint(_Locale_monetary_t *lmonetary)
int _Locale_strcmp(_Locale_collate_t *lcol, const char *s1, size_t n1, const char *s2, size_t n2)
static const char * _Locale_common_default(char *buf)
const char * _Locale_collate_default(char *buf)
static char * __ConvertToCP(int from_cp, int to_cp, const char *from, size_t size, size_t *ret_buf_size)
_Locale_lcid_t * _Locale_get_time_hint(_Locale_time_t *ltime)
#define WideCharToMultiByte
#define MultiByteToWideChar
static DOUBLE day(DOUBLE time)
INT WINAPI LCMapStringA(LCID lcid, DWORD flags, LPCSTR src, INT srclen, LPSTR dst, INT dstlen)
BOOL WINAPI GetStringTypeA(LCID locale, DWORD type, LPCSTR src, INT count, LPWORD chartype)
INT WINAPI CompareStringA(LCID lcid, DWORD flags, LPCSTR str1, INT len1, LPCSTR str2, INT len2)
INT WINAPI GetLocaleInfoA(LCID lcid, LCTYPE lctype, LPSTR buffer, INT len)
BOOL WINAPI GetCPInfo(UINT codepage, LPCPINFO cpinfo)
BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA lpfnLocaleEnum, DWORD dwFlags)
int WINAPI lstrcmpiA(LPCSTR str1, LPCSTR str2)
BOOL WINAPI GetStringTypeW(DWORD type, LPCWSTR src, INT count, LPWORD chartype)
static const WCHAR month[12][4]
#define _STLP_STATIC_ASSERT(expr)
#define _STLP_BEGIN_NAMESPACE
#define _STLP_END_NAMESPACE
GLenum GLuint GLenum GLsizei const GLchar * buf
GLuint GLsizei GLsizei * length
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define WC_COMPOSITECHECK
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
#define _STLP_LOC_UNSUPPORTED_FACET_CATEGORY
#define _Locale_MAX_SIMPLE_NAME
unsigned short int _Locale_mask_t
#define _STLP_LOC_NO_MEMORY
#define _STLP_LOC_UNKNOWN_NAME
#define cmp(status, error)
#define VER_PLATFORM_WIN32_NT
#define LOCALE_USER_DEFAULT
_Check_return_ _CRTIMP size_t __cdecl strcspn(_In_z_ const char *_Str, _In_z_ const char *_Control)
unsigned short ctable[256]
char * abbrev_dayofweek[7]
char * long_date_time_format
ULONG dwOSVersionInfoSize
BYTE LeadByte[MAX_LEADBYTES]
static void buffer_size(GLcontext *ctx, GLuint *width, GLuint *height)
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
static const WCHAR lang[]
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
#define LCMAP_LINGUISTIC_CASING
#define LOCALE_SMONTHNAME12
#define LOCALE_ICURRDIGITS
#define LOCALE_IDEFAULTCODEPAGE
#define LOCALE_INEGSEPBYSPACE
#define LOCALE_INEGSIGNPOSN
#define LOCALE_SENGLANGUAGE
#define LOCALE_IINTLCURRDIGITS
#define LOCALE_SSHORTDATE
#define LOCALE_IPOSSYMPRECEDES
#define LOCALE_SPOSITIVESIGN
#define LOCALE_SISO639LANGNAME
#define LOCALE_SMONTHNAME1
#define LOCALE_INEGSYMPRECEDES
#define LOCALE_IPOSSIGNPOSN
#define LOCALE_SABBREVMONTHNAME1
#define LOCALE_IDEFAULTANSICODEPAGE
#define LOCALE_SISO3166CTRYNAME
#define LOCALE_STIMEFORMAT
#define LOCALE_SABBREVDAYNAME1
#define LOCALE_SABBREVLANGNAME
#define LOCALE_SENGCOUNTRY
#define LOCALE_SABBREVCTRYNAME
#define LOCALE_SNEGATIVESIGN
#define LOCALE_SINTLSYMBOL
#define LOCALE_IPOSSEPBYSPACE
#define LOCALE_SABBREVMONTHNAME12
#define LOCALE_SABBREVDAYNAME7
_Must_inspect_result_ typedef _Out_ PULONG TableSize