50 {932, {0x40, 0x7e, 0x80, 0xfc, 0, 0}},
51 {936, {0x40, 0xfe, 0, 0}},
52 {949, {0x41, 0xfe, 0, 0}},
53 {950, {0x40, 0x7e, 0xa1, 0xfe, 0, 0}},
54 {1361, {0x31, 0x7e, 0x81, 0xfe, 0, 0}},
55 {20932, {1, 255, 0, 0}},
61 0x40,0x49,0x68,0x94,0x90,0x93,0x95,0x66,0x69,0x6a,0x96,0x7b,0x43,0x7c,0x44,0x5e,
62 0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x46,0x47,0x83,0x81,0x84,0x48,
63 0x97,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,
64 0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x6d,0x8f,0x6e,0x4f,0x76,
65 0x77,0x78,0x79,0x6d,0x8f,0x6e,0x4f,0x51,0x65,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
66 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0x95,0x50,
67 0x42,0x75,0x76,0x41,0x45,0x92,0x40,0x42,0x44,0x46,0x48,0x83,0x85,0x87,0x62,
68 0x5b,0x41,0x43,0x45,0x47,0x49,0x4a,0x4c,0x4e,0x50,0x52,0x54,0x56,0x58,0x5a,0x5c,
69 0x5e,0x60,0x63,0x65,0x67,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x71,0x74,0x77,0x7a,0x7d,
70 0x7e,0x80,0x81,0x82,0x84,0x86,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8f,0x93,0x4a,0x4b };
74 0x20,0xa4,0xa1,0x2c,0x2e,0xa5,0x3a,0x3b,0x3f,0x21,0xde,0xdf,0x00,0x00,0x00,0x5e,
75 0x7e,0x5f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xb0,0x00,0x00,0x2f,0x00,
76 0x00,0x00,0x7c,0x00,0x00,0x60,0x27,0x00,0x22,0x28,0x29,0x00,0x00,0x5b,0x5d,0x7b,
77 0x7d,0x00,0x00,0x00,0x00,0xa2,0xa3,0x00,0x00,0x00,0x00,0x2b,0x2d,0x00,0x00,0x00,
78 0x00,0x3d,0x00,0x3c,0x3e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5c,
79 0x24,0x00,0x00,0x25,0x23,0x26,0x2a,0x40};
83 0xa7,0xb1,0xa8,0xb2,0xa9,0xb3,0xaa,0xb4,0xab,0xb5,0xb6,0xb6,0xb7,0xb7,0xb8,0xb8,
84 0xb9,0xb9,0xba,0xba,0xbb,0xbb,0xbc,0xbc,0xbd,0xbd,0xbe,0xbe,0xbf,0xbf,0xc0,0xc0,
85 0xc1,0xc1,0xaf,0xc2,0xc2,0xc3,0xc3,0xc4,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xca,
86 0xca,0xcb,0xcb,0xcb,0xcc,0xcc,0xcc,0xcd,0xcd,0xcd,0xce,0xce,0xce,0xcf,0xd0,0xd1,
87 0xd2,0xd3,0xac,0xd4,0xad,0xd5,0xae,0xd6,0xd7,0xd8,0xd9,0xda,0xdb,0xdc,0xdc,0xb2,
88 0xb4,0xa6,0xdd,0xb3,0xb6,0xb9};
106 mbch[0] = (
ch >> 8) & 0xff;
112 WARN(
"MultiByteToWideChar failed on %x\n",
ch);
128static inline int u_strcmp(
const unsigned char *
s1,
const unsigned char *
s2 )
130 return strcmp( (
const char*)
s1, (
const char*)
s2 );
148static inline unsigned char *
u_strchr(
const unsigned char *
s,
unsigned char x )
150 return (
unsigned char*)
strchr( (
const char*)
s,
x );
158static inline unsigned char *
u_strrchr(
const unsigned char *
s,
unsigned char x )
160 return (
unsigned char*)
strrchr( (
const char*)
s,
x );
168static inline unsigned char *
u__strset(
unsigned char *
s,
unsigned char c )
170 return (
unsigned char*)
_strset( (
char*)
s,
c);
173static inline unsigned char *
u__strnset(
unsigned char *
s,
unsigned char c,
size_t len )
227 WCHAR bufW[256], lowW[256], upW[256];
228 int charcount, maxchar;
274 WARN(
"Can't assign LCID to codepage (%d)\n", mbcinfo->
mblcid);
280 WARN(
"Codepage %d not found\n", newcp);
305 if (cpextra->
cp == 0 || cpextra->
cp == newcp)
307 if (cpextra->
cp == 0)
308 FIXME(
"trail bytes data not available for DBCS codepage %d - assuming all bytes\n", newcp);
325 maxchar = (newcp ==
CP_UTF8) ? 128 : 256;
330 for (
i = 0;
i < maxchar;
i++)
332 bufA[charcount++] =
i;
335 if (
ret != charcount)
337 ERR(
"MultiByteToWideChar of chars failed for cp %d, ret=%d (exp %d), error=%ld\n",
346 for (
i = 0;
i < maxchar;
i++)
349 if (chartypes[charcount] &
C1_UPPER)
352 bufW[charcount] = lowW[charcount];
354 else if (chartypes[charcount] &
C1_LOWER)
357 bufW[charcount] = upW[charcount];
363 if (
ret != charcount)
365 ERR(
"WideCharToMultiByte failed for cp %d, ret=%d (exp %d), error=%ld\n",
370 for (
i = 0;
i < maxchar;
i++)
387 for (
i = 161;
i <= 165;
i++)
389 for (
i = 166;
i <= 223;
i++)
416 data->mbcinfo = mbcinfo;
443 return *
str << 8 |
str[1];
460 unsigned char str[2],
ret[2];
466 mbcinfo =
locale->mbcinfo;
483 return ret[1] + (
ret[0] << 8);
503 unsigned char str[2],
ret[2];
509 mbcinfo =
locale->mbcinfo;
526 return ret[1] + (
ret[0] << 8);
550 mbcinfo =
locale->mbcinfo;
556 if(
c >= 0x829f &&
c <= 0x82f1)
558 if(
c >= 0x8340 &&
c <= 0x8396 &&
c != 0x837f)
560 if(
c >= 0x8140 &&
c <= 0x8197)
565 if((
c >= 0x824f &&
c <= 0x8258) ||
566 (
c >= 0x8260 &&
c <= 0x8279))
568 if(
c >= 0x8281 &&
c <= 0x829a)
595 mbcinfo =
locale->mbcinfo;
644 mbcinfo =
locale->mbcinfo;
734 return (
unsigned char*)
str;
744 size_t i = 0,
len = 0;
749 mbcinfo =
locale->mbcinfo;
798 if(copied) *copied = 0;
805 if(copied) *copied = 1;
817 if(copied) *copied = 2;
820 if(copied) *copied = 1;
847 int *copied,
const unsigned char*
src)
869 mbcinfo =
locale->mbcinfo;
896 if (!(*
dst++ = *
src++))
break;
899 while (
n--) *
dst++ = 0;
929 mbcinfo =
locale->mbcinfo;
959 if (!truncate && curlen && !
src[curlen - 1])
1090 unsigned char*
ret =
dst;
1098 mbcinfo =
locale->mbcinfo;
1119 if (!(*
dst++ = *
src++))
break;
1122 while (
n--) *
dst++ = 0;
1151 unsigned int strc, cmpc;
1154 return *
cmp ? -1 : 0;
1160 return strc < cmpc ? -1 : 1;
1161 str +=(strc > 255) ? 2 : 1;
1162 cmp +=(strc > 255) ? 2 : 1;
1186 mbcinfo =
locale->mbcinfo;
1191 (
const char*)str1,
strnlen((
const char*)str1,
len),
1216#if _MSVCR_VER>=60 && _MSVCR_VER<=71
1234 mbcinfo =
locale->mbcinfo;
1239 (
const char*)str1,
strnlen((
const char*)str1,
len),
1264#if _MSVCR_VER>=60 && _MSVCR_VER<=71
1285 mbcinfo =
locale->mbcinfo;
1288 unsigned int strc, cmpc;
1291 return *
cmp ? -1 : 0;
1297 return strc < cmpc ? -1 : 1;
1298 str +=(strc > 255) ? 2 : 1;
1299 cmp +=(strc > 255) ? 2 : 1;
1320 unsigned int strc, cmpc;
1326 mbcinfo =
locale->mbcinfo;
1341 return *
cmp ? -1 : 0;
1347 return strc < cmpc ? -1 : 1;
1348 inc = (strc > 255) ? 2 : 1;
1377 mbcinfo =
locale->mbcinfo;
1383 unsigned int strc, cmpc;
1388 return *
cmp ? -1 : 0;
1406 return strc < cmpc ? -1 : 1;
1439 mbcinfo =
locale->mbcinfo;
1445 unsigned int strc, cmpc;
1449 return *
cmp ? -1 : 0;
1455 return strc < cmpc ? -1 : 1;
1456 str += (strc > 255) ? 2 : 1;
1457 cmp += (strc > 255) ? 2 : 1;
1488 mbcinfo =
locale->mbcinfo;
1494 unsigned int strc, cmpc;
1499 return *
cmp ? -1 : 0;
1519 return strc < cmpc ? -1 : 1;
1610 return (
unsigned char *)
strstr( (
const char *)
haystack, (
const char *)needle );
1624 mbcinfo =
locale->mbcinfo;
1634 return (
unsigned char*)
s;
1637 s +=
c > 255 ? 2 : 1;
1662 mbcinfo =
locale->mbcinfo;
1675 match = (
unsigned char *)
s;
1678 s += (
c > 255) ? 2 : 1;
1706 mbcinfo =
locale->mbcinfo;
1711 return (
unsigned char*)
strtok_s((
char*)
str, (
const char*)delim, (
char**)
ctx);
1717 str +=
c>255 ? 2 : 1;
1726 *
ctx +=
c>255 ? 2 : 1;
1741 const unsigned char *delim,
unsigned char **
ctx)
1763 if(!
str && !
data->mbstok_next)
1778 mbcinfo =
locale->mbcinfo;
1784 if(
c >= 0x20 &&
c <= 0x7e) {
1785 if((
c >= 0x41 &&
c <= 0x5a) || (
c >= 0x61 &&
c <= 0x7a) || (
c >= 0x30 &&
c <= 0x39))
1790 else if(
c >= 0xa1 &&
c <= 0xdf) {
1791 if(
c >= 0xa6 &&
c <= 0xdd &&
c != 0xb0)
1816 mbcinfo =
locale->mbcinfo;
1823 return (
c >= 0xa1 &&
c <= 0xdf);
1925 WARN(
"GetStringTypeW failed on %x\n",
ch);
2011 mbcinfo =
locale->mbcinfo;
2018 return (
c >= 0x829f &&
c <= 0x82f1);
2039 mbcinfo =
locale->mbcinfo;
2046 return (
c >= 0x8340 &&
c <= 0x8396 &&
c != 0x837f);
2069 mbcinfo =
locale->mbcinfo;
2071 return (mbcinfo->
mbctype[(
c&0xff) + 1] &
_M1) != 0;
2092 mbcinfo =
locale->mbcinfo;
2094 return (mbcinfo->
mbctype[(
c&0xff) + 1] &
_M2) != 0;
2133 mbcinfo =
locale->mbcinfo;
2150 return lead ? -1 : 0;
2200 mbcinfo =
locale->mbcinfo;
2205 return (
unsigned char *)
cur - 1;
2250 mbcinfo =
locale->mbcinfo;
2295 unsigned char*
ret =
str;
2302 mbcinfo =
locale->mbcinfo;
2335 unsigned char *
ret =
str;
2344 mbcinfo =
locale->mbcinfo;
2382 unsigned char *
ret =
str;
2391 mbcinfo =
locale->mbcinfo;
2434 mbcinfo =
locale->mbcinfo;
2441 while (*
str &&
len-- > 0)
2483 mbcinfo =
locale->mbcinfo;
2488 const unsigned char* xstr =
str;
2489 while (*xstr &&
len-- > 0)
2520 mbcinfo =
locale->mbcinfo;
2526 unsigned char *
res =
dst;
2564 unsigned char *
ptr =
dst;
2590 mbcinfo =
locale->mbcinfo;
2638 mbcinfo =
locale->mbcinfo;
2644 unsigned char *
res =
dst;
2676 unsigned char *
ret =
s;
2682 mbcinfo =
locale->mbcinfo;
2722 unsigned char *
p =
s;
2731 mbcinfo =
locale->mbcinfo;
2778 unsigned char *
ret =
s;
2785 mbcinfo =
locale->mbcinfo;
2822 unsigned char *
p =
s;
2873 const unsigned char *
p, *
q;
2878 for (
p =
string; *
p;
p++)
2887 if (
p[0] ==
q[0] &&
p[1] ==
q[1])
2896 if (
p[0] ==
q[0])
break;
2921 return *
string ? (
unsigned char*)
string :
NULL;
2938 const unsigned char *
p, *
q;
2947 if (!
q[1])
return 0;
2949 if (
p[0] ==
q[0] &&
p[1] ==
q[1])
2953 else if (
p[0] ==
q[0])
2974 unsigned char *
p, tmp;
2980 mbcinfo =
locale->mbcinfo;
3022 const unsigned char*
p;
3026 mbcinfo =
locale->mbcinfo;
3042 return (
unsigned char*)
str;
3208 unsigned char letter =
c;
3239 if(
locinfo->mb_cur_max == 1) {
3271 if((
ch&0xf8) == 0xf0)
3273 else if((
ch&0xf0) == 0xe0)
3275 else if((
ch&0xe0) == 0xc0)
3304 wcstr[
i] = (
unsigned char)mbstr[
i];
3305 if(!wcstr[
i])
break;
3322 if(mbstr[
size] ==
'\0')
3328 for(
j = 1;
j < chlen;
j++)
3330 if(!mbstr[
size +
j])
3332 if(
count) wcstr[0] =
'\0';
3347 if(
count) wcstr[0] =
'\0';
3363 const char *mbstr,
size_t count)
3377 if(!wcstr && !
size) {
3386 if(
size) wcstr[0] =
'\0';
3397 wcstr[conv++] =
'\0';
3399 wcstr[conv-1] =
'\0';
3401 }
else if(conv==
size && wcstr[conv-1]!=
'\0') {
3417 size_t size,
const char *mbstr,
size_t count)
3438 int ch_len =
mbrtowc(&tmpdst,
p, 2, &
s);
3440 wcstr[
ret] = tmpdst;
3444 }
else if(ch_len == 0) {
3445 if(wcstr) *pmbstr =
NULL;
3453 if(wcstr) *pmbstr =
p;
3473 if(wcstr) *wcstr = 0;
3479 if(wcstr) *wcstr = 0;
3482 if(wcstr) wcstr[(*ret)-1] = 0;
3494 return (
c - 0x8340 - (
c >= 0x837f ? 1 : 0)) + 0x829f;
3514 return (
c - 0x829f) + 0x8340 + (
c >= 0x82de ? 1 : 0);
3537 mbcinfo =
locale->mbcinfo;
3566 mbcinfo =
locale->mbcinfo;
3595 mbcinfo =
locale->mbcinfo;
static unsigned char bytes[4]
#define InterlockedIncrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define _isleadbyte_l(_C, _L)
#define _ismbblead_l(_c, p)
#define _ismbbtrail_l(_c, p)
#define _strnicmp(_String1, _String2, _MaxCount)
#define WideCharToMultiByte
#define MultiByteToWideChar
LCID WINAPI LocaleNameToLCID(_In_ LPCWSTR lpName, _In_ DWORD dwFlags)
INT WINAPI CompareStringA(LCID lcid, DWORD flags, LPCSTR str1, INT len1, LPCSTR str2, INT len2)
BOOL WINAPI GetCPInfo(UINT codepage, LPCPINFO cpinfo)
BOOL WINAPI GetStringTypeW(DWORD type, LPCWSTR src, INT count, LPWORD chartype)
INT WINAPI LCMapStringW(LCID lcid, DWORD flags, LPCWSTR src, INT srclen, LPWSTR dst, INT dstlen)
UINT WINAPI GetOEMCP(void)
int CDECL _tolower_l(int c, _locale_t locale)
int CDECL _toupper_l(int c, _locale_t locale)
_ACRTIMP errno_t __cdecl _mbsncpy_s_l(unsigned char *, size_t, const unsigned char *, size_t, _locale_t)
_ACRTIMP errno_t __cdecl _mbsncpy_s(unsigned char *, size_t, const unsigned char *, size_t)
_ACRTIMP int __cdecl ___mb_cur_max_l_func(_locale_t)
_ACRTIMP int __cdecl _strnicoll_l(const char *, const char *, size_t, _locale_t)
_ACRTIMP char *__cdecl strchr(const char *, int)
_ACRTIMP char *__cdecl _strrev(char *)
_ACRTIMP size_t __cdecl strnlen(const char *, size_t)
_ACRTIMP int __cdecl _strncoll_l(const char *, const char *, size_t, _locale_t)
_ACRTIMP size_t __cdecl strlen(const char *)
_ACRTIMP char *__cdecl strtok_s(char *, const char *, char **)
_ACRTIMP char *__cdecl strstr(const char *, const char *)
_ACRTIMP int __cdecl strcmp(const char *, const char *)
_ACRTIMP char *__cdecl strpbrk(const char *, const char *)
_ACRTIMP int __cdecl strncmp(const char *, const char *, size_t)
_ACRTIMP char *__cdecl strrchr(const char *, int)
void free_mbcinfo(pthreadmbcinfo mbcinfo)
int CDECL __crtLCMapStringA(LCID lcid, DWORD mapflags, const char *src, int srclen, char *dst, int dstlen, unsigned int codepage, int xflag)
pthreadmbcinfo CDECL get_mbcinfo(void)
BOOL locale_to_sname(const char *locale, unsigned short *codepage, BOOL *sname_match, WCHAR *sname)
void CDECL _lock(int locknum)
void CDECL _unlock(int locknum)
thread_data_t *CDECL msvcrt_get_thread_data(void)
#define MSVCRT_INVALID_PMT(x, err)
#define MSVCRT_CHECK_PMT(x)
#define MSVCRT_CHECK_PMT_ERR(x, err)
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLdouble GLdouble GLdouble GLdouble q
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
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 GLint GLint j
#define MB_ERR_INVALID_CHARS
int CDECL _mbsnicmp_l(const unsigned char *str, const unsigned char *cmp, size_t len, _locale_t locale)
int CDECL _mbsnbcmp(const unsigned char *str, const unsigned char *cmp, size_t len)
int CDECL _mbscat_s_l(unsigned char *dst, size_t size, const unsigned char *src, _locale_t locale)
int CDECL _ismbbkana_l(unsigned int c, _locale_t locale)
static int u_strcmp(const unsigned char *s1, const unsigned char *s2)
unsigned int CDECL _mbctolower_l(unsigned int c, _locale_t locale)
unsigned char *CDECL _mbsspnp(const unsigned char *string, const unsigned char *set)
unsigned int CDECL _mbctokata_l(unsigned int c, _locale_t locale)
static unsigned char * u__strset(unsigned char *s, unsigned char c)
size_t CDECL _mbsnlen_l(const unsigned char *str, size_t maxsize, _locale_t locale)
int CDECL _ismbcprint(unsigned int ch)
unsigned char *CDECL _mbsset_l(unsigned char *str, unsigned int c, _locale_t locale)
int CDECL _mbsbtype_l(const unsigned char *str, size_t count, _locale_t locale)
unsigned char *CDECL _mbsncpy(unsigned char *dst, const unsigned char *src, size_t n)
int CDECL _mbsicmp_l(const unsigned char *str, const unsigned char *cmp, _locale_t locale)
unsigned char *CDECL _mbstok_l(unsigned char *str, const unsigned char *delim, _locale_t locale)
size_t CDECL _mbstrlen(const char *str)
int CDECL _ismbckata_l(unsigned int c, _locale_t locale)
int CDECL _ismbcupper(unsigned int ch)
static int u_strncasecmp(const unsigned char *s1, const unsigned char *s2, size_t len)
int CDECL _ismbcl0_l(unsigned int c, _locale_t locale)
static const unsigned char mbctombb_932_kana[]
int CDECL _mbsicmp(const unsigned char *str, const unsigned char *cmp)
int CDECL _ismbstrail(const unsigned char *start, const unsigned char *str)
int CDECL _mbsnbcpy_s_l(unsigned char *dst, size_t size, const unsigned char *src, size_t n, _locale_t locale)
unsigned char *CDECL __p__mbctype(void)
int CDECL _mbsnbcat_s_l(unsigned char *dst, size_t size, const unsigned char *src, size_t len, _locale_t locale)
unsigned char *CDECL _mbsnbcpy_l(unsigned char *dst, const unsigned char *src, size_t n, _locale_t locale)
unsigned int CDECL _mbsnextc_l(const unsigned char *str, _locale_t locale)
int CDECL _mbsnbcpy_s(unsigned char *dst, size_t size, const unsigned char *src, size_t n)
int CDECL _mbccpy_s_l(unsigned char *dest, size_t maxsize, int *copied, const unsigned char *src, _locale_t locale)
size_t CDECL _mbsnccnt_l(const unsigned char *str, size_t len, _locale_t locale)
int CDECL _mbsnbcoll_l(const unsigned char *str1, const unsigned char *str2, size_t len, _locale_t locale)
size_t CDECL _mbsspn_l(const unsigned char *string, const unsigned char *set, _locale_t locale)
size_t CDECL mbsrtowcs(wchar_t *wcstr, const char **pmbstr, size_t count, mbstate_t *state)
unsigned char *CDECL _mbscat(unsigned char *dst, const unsigned char *src)
int CDECL _mbslwr_s_l(unsigned char *s, size_t len, _locale_t locale)
int CDECL _mbscpy_s(unsigned char *dst, size_t size, const unsigned char *src)
unsigned char *CDECL _mbstok(unsigned char *str, const unsigned char *delim)
int CDECL mblen(const char *str, size_t size)
unsigned char *CDECL _mbschr_l(const unsigned char *s, unsigned int x, _locale_t locale)
int CDECL _ismbchira(unsigned int c)
unsigned char *CDECL _mbslwr_l(unsigned char *s, _locale_t locale)
int CDECL _ismbcupper_l(unsigned int ch, _locale_t locale)
int CDECL _mblen_l(const char *str, size_t size, _locale_t locale)
int CDECL _mbsbtype(const unsigned char *str, size_t count)
int CDECL _mbccpy_s(unsigned char *dest, size_t maxsize, int *copied, const unsigned char *src)
size_t CDECL _mbscspn_l(const unsigned char *str, const unsigned char *cmp, _locale_t locale)
int CDECL _ismbcprint_l(unsigned int ch, _locale_t locale)
unsigned char *CDECL _mbsnbcat_l(unsigned char *dst, const unsigned char *src, size_t len, _locale_t locale)
size_t CDECL mbrlen(const char *str, size_t len, mbstate_t *state)
int CDECL _mbbtype(unsigned char c, int type)
int CDECL mbsrtowcs_s(size_t *ret, wchar_t *wcstr, size_t len, const char **mbstr, size_t count, mbstate_t *state)
unsigned char *CDECL _mbsstr(const unsigned char *haystack, const unsigned char *needle)
static const unsigned char mbctombb_932_punct[]
static struct cp_extra_info_t g_cpextrainfo[]
unsigned char *CDECL _mbsrev(unsigned char *str)
int CDECL _mbsupr_s_l(unsigned char *s, size_t len, _locale_t locale)
size_t CDECL _mbslen(const unsigned char *str)
int CDECL _mbsnbcoll(const unsigned char *str1, const unsigned char *str2, size_t len)
unsigned int CDECL _mbcjistojms_l(unsigned int c, _locale_t locale)
int CDECL _mbsupr_s(unsigned char *s, size_t len)
int CDECL _ismbslead(const unsigned char *start, const unsigned char *str)
void CDECL _mbccpy_l(unsigned char *dest, const unsigned char *src, _locale_t locale)
unsigned char *CDECL _mbscpy(unsigned char *dst, const unsigned char *src)
unsigned int CDECL _mbbtombc(unsigned int c)
unsigned int CDECL _mbcjistojms(unsigned int c)
unsigned int CDECL _mbctoupper_l(unsigned int c, _locale_t locale)
int CDECL _ismbcdigit_l(unsigned int ch, _locale_t locale)
static int u_strncmp(const unsigned char *s1, const unsigned char *s2, size_t len)
int CDECL _ismbcspace_l(unsigned int ch, _locale_t locale)
unsigned char *CDECL _mbsnset(unsigned char *str, unsigned int c, size_t len)
unsigned int CDECL _mbctohira_l(unsigned int c, _locale_t locale)
int CDECL _ismbcgraph_l(unsigned int ch, _locale_t locale)
size_t CDECL _mbscspn(const unsigned char *str, const unsigned char *cmp)
unsigned char *CDECL _mbsnbset(unsigned char *str, unsigned int c, size_t len)
int CDECL _ismbcl2_l(unsigned int c, _locale_t locale)
size_t CDECL _mbsspn(const unsigned char *string, const unsigned char *set)
int CDECL _ismbcalnum_l(unsigned int ch, _locale_t locale)
int CDECL _mbsnbcat_s(unsigned char *dst, size_t size, const unsigned char *src, size_t len)
int CDECL _mbbtype_l(unsigned char c, int type, _locale_t locale)
int CDECL _ismbblead(unsigned int c)
int CDECL _mbslwr_s(unsigned char *str, size_t len)
int CDECL _mbsnbicmp(const unsigned char *str, const unsigned char *cmp, size_t len)
int CDECL _mbsnbicmp_l(const unsigned char *str, const unsigned char *cmp, size_t len, _locale_t locale)
int CDECL _mbsnbcmp_l(const unsigned char *str, const unsigned char *cmp, size_t len, _locale_t locale)
int CDECL _ismbcalpha_l(unsigned int ch, _locale_t locale)
static size_t u_strlen(const unsigned char *str)
static wchar_t msvcrt_mbc_to_wc_l(unsigned int ch, _locale_t locale)
unsigned char *CDECL _mbstok_s_l(unsigned char *str, const unsigned char *delim, unsigned char **ctx, _locale_t locale)
int CDECL ___mb_cur_max_func(void)
int CDECL _mbsncmp_l(const unsigned char *str, const unsigned char *cmp, size_t len, _locale_t locale)
unsigned int CDECL _mbctombb_l(unsigned int c, _locale_t locale)
int CDECL _ismbclegal(unsigned int c)
unsigned char *CDECL _mbsrchr_l(const unsigned char *s, unsigned int x, _locale_t locale)
unsigned char *CDECL _mbsspnp_l(const unsigned char *string, const unsigned char *set, _locale_t locale)
void CDECL _mbccpy(unsigned char *dest, const unsigned char *src)
int CDECL _mbsnbicoll(const unsigned char *str1, const unsigned char *str2, size_t len)
static unsigned char * u__strnset(unsigned char *s, unsigned char c, size_t len)
int CDECL _mbsnicmp(const unsigned char *str, const unsigned char *cmp, size_t len)
int CDECL _ismbcl1_l(unsigned int c, _locale_t locale)
int CDECL _mbtowc_l(wchar_t *dst, const char *str, size_t n, _locale_t locale)
int CDECL _ismbslead_l(const unsigned char *start, const unsigned char *str, _locale_t locale)
unsigned char *CDECL _mbsinc_l(const unsigned char *str, _locale_t locale)
unsigned char *CDECL _mbspbrk_l(const unsigned char *str, const unsigned char *accept, _locale_t locale)
unsigned char *CDECL _mbsdec_l(const unsigned char *start, const unsigned char *cur, _locale_t locale)
size_t CDECL _mbclen(const unsigned char *str)
size_t CDECL _mbclen_l(const unsigned char *str, _locale_t locale)
size_t CDECL _mbslen_l(const unsigned char *str, _locale_t locale)
unsigned int CDECL _mbctolower(unsigned int c)
unsigned char *CDECL _mbsninc(const unsigned char *str, size_t num)
size_t CDECL _mbsnbcnt_l(const unsigned char *str, size_t len, _locale_t locale)
int CDECL _mbsicoll(const unsigned char *str, const unsigned char *cmp)
unsigned char *CDECL _mbsncpy_l(unsigned char *dst, const unsigned char *src, size_t n, _locale_t locale)
int CDECL _mbsnbicoll_l(const unsigned char *str1, const unsigned char *str2, size_t len, _locale_t locale)
size_t CDECL _mbstrlen_l(const char *str, _locale_t locale)
unsigned char *CDECL _mbsset(unsigned char *str, unsigned int c)
int CDECL _ismbclegal_l(unsigned int c, _locale_t locale)
unsigned char *CDECL _mbsncat_l(unsigned char *dst, const unsigned char *src, size_t len, _locale_t locale)
int CDECL _mbscmp(const unsigned char *str, const unsigned char *cmp)
int CDECL _ismbcspace(unsigned int ch)
unsigned char *CDECL _mbsupr(unsigned char *s)
unsigned char *CDECL _mbspbrk(const unsigned char *str, const unsigned char *accept)
wint_t CDECL btowc(int c)
unsigned char *CDECL _mbsnbcpy(unsigned char *dst, const unsigned char *src, size_t n)
int CDECL _mbscmp_l(const unsigned char *str, const unsigned char *cmp, _locale_t locale)
int CDECL _ismbcgraph(unsigned int ch)
int CDECL _ismbbtrail(unsigned int c)
int CDECL _mbscoll(const unsigned char *str, const unsigned char *cmp)
unsigned int CDECL _mbctokata(unsigned int c)
int CDECL _ismbclower(unsigned int ch)
int CDECL _ismbcl2(unsigned int c)
int CDECL _ismbcl0(unsigned int c)
unsigned char *CDECL _mbsrchr(const unsigned char *s, unsigned int x)
int CDECL _ismbcpunct(unsigned int ch)
int CDECL _mbsncmp(const unsigned char *str, const unsigned char *cmp, size_t len)
int CDECL _mbscpy_s_l(unsigned char *dst, size_t size, const unsigned char *src, _locale_t locale)
int CDECL _mbscat_s(unsigned char *dst, size_t size, const unsigned char *src)
unsigned char *CDECL _mbstok_s(unsigned char *str, const unsigned char *delim, unsigned char **ctx)
unsigned int CDECL _mbctombb(unsigned int c)
unsigned int CDECL _mbctoupper(unsigned int c)
unsigned int CDECL _mbctohira(unsigned int c)
int CDECL _ismbckata(unsigned int c)
static const unsigned char mbbtombc_932[]
int CDECL _mbstowcs_s(size_t *ret, wchar_t *wcstr, size_t size, const char *mbstr, size_t count)
unsigned char *CDECL _mbslwr(unsigned char *s)
unsigned char *CDECL _mbsupr_l(unsigned char *s, _locale_t locale)
size_t CDECL _mbsnbcnt(const unsigned char *str, size_t len)
unsigned char *CDECL _mbschr(const unsigned char *s, unsigned int x)
int CDECL _ismbcalpha(unsigned int ch)
unsigned int CDECL _mbsnextc(const unsigned char *str)
int CDECL _ismbstrail_l(const unsigned char *start, const unsigned char *str, _locale_t locale)
int CDECL _ismbcdigit(unsigned int ch)
unsigned char MSVCRT_mbctype[257]
int CDECL _ismbcsymbol_l(unsigned int ch, _locale_t locale)
static unsigned char * u_strncat(unsigned char *dst, const unsigned char *src, size_t len)
int CDECL _ismbbkana(unsigned int c)
static int get_utf8_char_len(char ch)
size_t CDECL _mbsnlen(const unsigned char *str, size_t maxsize)
unsigned char *CDECL _mbsnset_l(unsigned char *str, unsigned int c, size_t len, _locale_t locale)
static unsigned char * u_strpbrk(const unsigned char *str, const unsigned char *accept)
int CDECL _setmbcp(int cp)
int CDECL _ismbchira_l(unsigned int c, _locale_t locale)
int CDECL _ismbcpunct_l(unsigned int ch, _locale_t locale)
unsigned int CDECL _mbbtombc_l(unsigned int c, _locale_t locale)
int CDECL _mbscoll_l(const unsigned char *str1, const unsigned char *str2, _locale_t locale)
unsigned int CDECL _mbcjmstojis(unsigned int c)
int CDECL _ismbcl1(unsigned int c)
int CDECL _ismbcalnum(unsigned int ch)
unsigned char *CDECL _mbsdec(const unsigned char *start, const unsigned char *cur)
int CDECL _ismbcsymbol(unsigned int ch)
unsigned char *CDECL _mbsnbset_l(unsigned char *str, unsigned int c, size_t len, _locale_t locale)
static unsigned char * u_strrchr(const unsigned char *s, unsigned char x)
threadmbcinfo * create_mbcinfo(int cp, LCID lcid, threadmbcinfo *old_mbcinfo)
int CDECL _ismbclower_l(unsigned int ch, _locale_t locale)
static unsigned char * u__strrev(unsigned char *str)
int CDECL _mbsicoll_l(const unsigned char *str1, const unsigned char *str2, _locale_t locale)
int *CDECL __p___mb_cur_max(void)
unsigned int CDECL _mbcjmstojis_l(unsigned int c, _locale_t locale)
size_t CDECL _mbsnccnt(const unsigned char *str, size_t len)
static int u_strcasecmp(const unsigned char *s1, const unsigned char *s2)
unsigned char *CDECL _mbsrev_l(unsigned char *str, _locale_t locale)
static unsigned char * u_strchr(const unsigned char *s, unsigned char x)
unsigned char *CDECL _mbsinc(const unsigned char *str)
#define memcpy(s1, s2, n)
#define cmp(status, error)
static const char haystack[]
#define LOCALE_NAME_MAX_LENGTH
#define _iswdigit_l(_c, _p)
#define _iswlower_l(_c, _p)
#define _isprint_l(_Char, _Locale)
#define _iswupper_l(_c, _p)
#define _iswspace_l(_c, _p)
#define _iswgraph_l(_c, _p)
#define _iswprint_l(_c, _p)
#define _iswalpha_l(_c, _p)
#define _iswpunct_l(_c, _p)
#define _iswalnum_l(_c, _p)
SOCKET WSAAPI accept(IN SOCKET s, OUT LPSOCKADDR addr, OUT INT FAR *addrlen)
_In_ size_t const maxsize
BYTE LeadByte[MAX_LEADBYTES]
unsigned char mbcasemap[256]
unsigned char mbctype[257]
DWORD WINAPI GetLastError(void)
#define LOCALE_ALLOW_NEUTRAL_NAMES