msvcrt: Add _wctype table.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Piotr Caban 2020-07-21 12:21:08 +02:00 committed by Alexandre Julliard
parent 1bd27e50d2
commit 144803a545
12 changed files with 85 additions and 11 deletions

View File

@ -96,7 +96,7 @@
@ cdecl _wcsupr_s(wstr long) ucrtbase._wcsupr_s @ cdecl _wcsupr_s(wstr long) ucrtbase._wcsupr_s
@ cdecl _wcsupr_s_l(wstr long ptr) ucrtbase._wcsupr_s_l @ cdecl _wcsupr_s_l(wstr long ptr) ucrtbase._wcsupr_s_l
@ cdecl _wcsxfrm_l(ptr wstr long ptr) ucrtbase._wcsxfrm_l @ cdecl _wcsxfrm_l(ptr wstr long ptr) ucrtbase._wcsxfrm_l
@ stub _wctype @ extern _wctype ucrtbase._wctype
@ cdecl is_wctype(long long) ucrtbase.is_wctype @ cdecl is_wctype(long long) ucrtbase.is_wctype
@ cdecl isalnum(long) ucrtbase.isalnum @ cdecl isalnum(long) ucrtbase.isalnum
@ cdecl isalpha(long) ucrtbase.isalpha @ cdecl isalpha(long) ucrtbase.isalpha

View File

@ -1531,7 +1531,7 @@
@ cdecl _wctime64_s(ptr long ptr) MSVCRT__wctime64_s @ cdecl _wctime64_s(ptr long ptr) MSVCRT__wctime64_s
@ cdecl _wctomb_l(ptr long ptr) MSVCRT__wctomb_l @ cdecl _wctomb_l(ptr long ptr) MSVCRT__wctomb_l
@ cdecl _wctomb_s_l(ptr ptr long long ptr) MSVCRT__wctomb_s_l @ cdecl _wctomb_s_l(ptr ptr long long ptr) MSVCRT__wctomb_s_l
# extern _wctype @ extern _wctype MSVCRT__wctype
@ cdecl _wdupenv_s(ptr ptr wstr) @ cdecl _wdupenv_s(ptr ptr wstr)
@ extern _wenviron MSVCRT__wenviron @ extern _wenviron MSVCRT__wenviron
@ varargs _wexecl(wstr wstr) @ varargs _wexecl(wstr wstr)

View File

@ -1889,7 +1889,7 @@
@ cdecl _wctime64_s(ptr long ptr) MSVCRT__wctime64_s @ cdecl _wctime64_s(ptr long ptr) MSVCRT__wctime64_s
@ cdecl _wctomb_l(ptr long ptr) MSVCRT__wctomb_l @ cdecl _wctomb_l(ptr long ptr) MSVCRT__wctomb_l
@ cdecl _wctomb_s_l(ptr ptr long long ptr) MSVCRT__wctomb_s_l @ cdecl _wctomb_s_l(ptr ptr long long ptr) MSVCRT__wctomb_s_l
# extern _wctype @ extern _wctype MSVCRT__wctype
@ cdecl _wdupenv_s(ptr ptr wstr) @ cdecl _wdupenv_s(ptr ptr wstr)
@ extern _wenviron MSVCRT__wenviron @ extern _wenviron MSVCRT__wenviron
@ varargs _wexecl(wstr wstr) @ varargs _wexecl(wstr wstr)

View File

@ -1913,7 +1913,7 @@
@ cdecl _wctime64_s(ptr long ptr) MSVCRT__wctime64_s @ cdecl _wctime64_s(ptr long ptr) MSVCRT__wctime64_s
@ cdecl _wctomb_l(ptr long ptr) MSVCRT__wctomb_l @ cdecl _wctomb_l(ptr long ptr) MSVCRT__wctomb_l
@ cdecl _wctomb_s_l(ptr ptr long long ptr) MSVCRT__wctomb_s_l @ cdecl _wctomb_s_l(ptr ptr long long ptr) MSVCRT__wctomb_s_l
# extern _wctype @ extern _wctype MSVCRT__wctype
@ cdecl _wdupenv_s(ptr ptr wstr) @ cdecl _wdupenv_s(ptr ptr wstr)
@ extern _wenviron MSVCRT__wenviron @ extern _wenviron MSVCRT__wenviron
@ varargs _wexecl(wstr wstr) @ varargs _wexecl(wstr wstr)

View File

@ -1606,7 +1606,7 @@
@ cdecl _wctime64_s(ptr long ptr) msvcr120._wctime64_s @ cdecl _wctime64_s(ptr long ptr) msvcr120._wctime64_s
@ cdecl _wctomb_l(ptr long ptr) msvcr120._wctomb_l @ cdecl _wctomb_l(ptr long ptr) msvcr120._wctomb_l
@ cdecl _wctomb_s_l(ptr ptr long long ptr) msvcr120._wctomb_s_l @ cdecl _wctomb_s_l(ptr ptr long long ptr) msvcr120._wctomb_s_l
# extern _wctype @ extern _wctype msvcr120._wctype
@ extern _wenviron msvcr120._wenviron @ extern _wenviron msvcr120._wenviron
@ cdecl _wfdopen(long wstr) msvcr120._wfdopen @ cdecl _wfdopen(long wstr) msvcr120._wfdopen
@ cdecl _wfindfirst32(wstr ptr) msvcr120._wfindfirst32 @ cdecl _wfindfirst32(wstr ptr) msvcr120._wfindfirst32

View File

@ -610,7 +610,7 @@
@ cdecl _wcsupr(wstr) MSVCRT__wcsupr @ cdecl _wcsupr(wstr) MSVCRT__wcsupr
@ cdecl _wctime(ptr) MSVCRT__wctime @ cdecl _wctime(ptr) MSVCRT__wctime
@ cdecl _wctime64(ptr) MSVCRT__wctime64 @ cdecl _wctime64(ptr) MSVCRT__wctime64
# extern _wctype @ extern _wctype MSVCRT__wctype
@ extern _wenviron MSVCRT__wenviron @ extern _wenviron MSVCRT__wenviron
@ varargs _wexecl(wstr wstr) @ varargs _wexecl(wstr wstr)
@ varargs _wexecle(wstr wstr) @ varargs _wexecle(wstr wstr)

View File

@ -606,7 +606,7 @@
@ cdecl _wcsupr(wstr) MSVCRT__wcsupr @ cdecl _wcsupr(wstr) MSVCRT__wcsupr
@ cdecl _wctime(ptr) MSVCRT__wctime @ cdecl _wctime(ptr) MSVCRT__wctime
@ cdecl _wctime64(ptr) MSVCRT__wctime64 @ cdecl _wctime64(ptr) MSVCRT__wctime64
# extern _wctype @ extern _wctype MSVCRT__wctype
@ extern _wenviron MSVCRT__wenviron @ extern _wenviron MSVCRT__wenviron
@ varargs _wexecl(wstr wstr) @ varargs _wexecl(wstr wstr)
@ varargs _wexecle(wstr wstr) @ varargs _wexecle(wstr wstr)

View File

@ -1210,7 +1210,7 @@
@ cdecl _wctime64_s(ptr long ptr) MSVCRT__wctime64_s @ cdecl _wctime64_s(ptr long ptr) MSVCRT__wctime64_s
@ cdecl _wctomb_l(ptr long ptr) MSVCRT__wctomb_l @ cdecl _wctomb_l(ptr long ptr) MSVCRT__wctomb_l
@ cdecl _wctomb_s_l(ptr ptr long long ptr) MSVCRT__wctomb_s_l @ cdecl _wctomb_s_l(ptr ptr long long ptr) MSVCRT__wctomb_s_l
# extern _wctype @ extern _wctype MSVCRT__wctype
@ cdecl _wdupenv_s(ptr ptr wstr) @ cdecl _wdupenv_s(ptr ptr wstr)
@ extern _wenviron MSVCRT__wenviron @ extern _wenviron MSVCRT__wenviron
@ varargs _wexecl(wstr wstr) @ varargs _wexecl(wstr wstr)

View File

@ -1186,7 +1186,7 @@
@ cdecl _wctime64_s(ptr long ptr) MSVCRT__wctime64_s @ cdecl _wctime64_s(ptr long ptr) MSVCRT__wctime64_s
@ cdecl _wctomb_l(ptr long ptr) MSVCRT__wctomb_l @ cdecl _wctomb_l(ptr long ptr) MSVCRT__wctomb_l
@ cdecl _wctomb_s_l(ptr ptr long long ptr) MSVCRT__wctomb_s_l @ cdecl _wctomb_s_l(ptr ptr long long ptr) MSVCRT__wctomb_s_l
# extern _wctype @ extern _wctype MSVCRT__wctype
@ cdecl _wdupenv_s(ptr ptr wstr) @ cdecl _wdupenv_s(ptr ptr wstr)
@ extern _wenviron MSVCRT__wenviron @ extern _wenviron MSVCRT__wenviron
@ varargs _wexecl(wstr wstr) @ varargs _wexecl(wstr wstr)

View File

@ -51,6 +51,80 @@ WORD MSVCRT__ctype [257] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}; };
#if _MSVCR_VER <= 110
# define B110 MSVCRT__BLANK
#else
# define B110 0
#endif
#if _MSVCR_VER == 120
# define D120 0
#else
# define D120 4
#endif
#if _MSVCR_VER >= 140
# define S140 MSVCRT__SPACE
# define L140 MSVCRT__LOWER | 0x100
# define C140 MSVCRT__CONTROL
#else
# define S140 0
# define L140 0
# define C140 0
#endif
WORD MSVCRT__wctype[257] =
{
0,
/* 00 */
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0028 | B110, 0x0028, 0x0028, 0x0028, 0x0028, 0x0020, 0x0020,
/* 10 */
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
/* 20 */
0x0048, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
/* 30 */
0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084,
0x0084, 0x0084, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
/* 40 */
0x0010, 0x0181, 0x0181, 0x0181, 0x0181, 0x0181, 0x0181, 0x0101,
0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0101,
/* 50 */
0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0101,
0x0101, 0x0101, 0x0101, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
/* 60 */
0x0010, 0x0182, 0x0182, 0x0182, 0x0182, 0x0182, 0x0182, 0x0102,
0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102,
/* 70 */
0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102,
0x0102, 0x0102, 0x0102, 0x0010, 0x0010, 0x0010, 0x0010, 0x0020,
/* 80 */
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020 | S140, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
/* 90 */
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,
/* a0 */
0x0008 | B110, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
0x0010, 0x0010, 0x0010 | L140, 0x0010, 0x0010, 0x0010 | C140, 0x0010, 0x0010,
/* b0 */
0x0010, 0x0010, 0x0010 | D120, 0x0010 | D120, 0x0010, 0x0010 | L140, 0x0010, 0x0010,
0x0010, 0x0010 | D120, 0x0010 | L140, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,
/* c0 */
0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0101,
0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0101,
/* d0 */
0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0010,
0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0101, 0x0102,
/* e0 */
0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102,
0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102,
/* f0 */
0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0010,
0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102, 0x0102
};
/********************************************************************* /*********************************************************************
* __p__pctype (MSVCRT.@) * __p__pctype (MSVCRT.@)
*/ */

View File

@ -1141,7 +1141,7 @@
@ cdecl _wctime64_s(ptr long ptr) MSVCRT__wctime64_s @ cdecl _wctime64_s(ptr long ptr) MSVCRT__wctime64_s
@ cdecl _wctomb_l(ptr long ptr) MSVCRT__wctomb_l @ cdecl _wctomb_l(ptr long ptr) MSVCRT__wctomb_l
@ cdecl _wctomb_s_l(ptr ptr long long ptr) MSVCRT__wctomb_s_l @ cdecl _wctomb_s_l(ptr ptr long long ptr) MSVCRT__wctomb_s_l
# extern _wctype @ extern _wctype MSVCRT__wctype
@ extern _wenviron MSVCRT__wenviron @ extern _wenviron MSVCRT__wenviron
@ varargs _wexecl(wstr wstr) @ varargs _wexecl(wstr wstr)
@ varargs _wexecle(wstr wstr) @ varargs _wexecle(wstr wstr)

View File

@ -2062,7 +2062,7 @@
@ cdecl _wctime64_s(ptr long ptr) MSVCRT__wctime64_s @ cdecl _wctime64_s(ptr long ptr) MSVCRT__wctime64_s
@ cdecl _wctomb_l(ptr long ptr) MSVCRT__wctomb_l @ cdecl _wctomb_l(ptr long ptr) MSVCRT__wctomb_l
@ cdecl _wctomb_s_l(ptr ptr long long ptr) MSVCRT__wctomb_s_l @ cdecl _wctomb_s_l(ptr ptr long long ptr) MSVCRT__wctomb_s_l
@ stub _wctype @ extern _wctype MSVCRT__wctype
@ cdecl _wdupenv_s(ptr ptr wstr) @ cdecl _wdupenv_s(ptr ptr wstr)
@ varargs _wexecl(wstr wstr) @ varargs _wexecl(wstr wstr)
@ varargs _wexecle(wstr wstr) @ varargs _wexecle(wstr wstr)