Module: wine Branch: master Commit: 5f294e34d6eab6a217991994443c347aa44684b7 URL: https://source.winehq.org/git/wine.git/?a=commit;h=5f294e34d6eab6a2179919944...
Author: Piotr Caban piotr@codeweavers.com Date: Thu Jul 16 15:33:09 2020 +0200
msvcrt: Add _ismbcalpha_l implementation.
Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
.../api-ms-win-crt-multibyte-l1-1-0.spec | 2 +- .../api-ms-win-crt-private-l1-1-0.spec | 2 +- dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr110/msvcr110.spec | 2 +- dlls/msvcr120/msvcr120.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/mbcs.c | 11 +++++++++-- dlls/msvcrt/msvcrt.h | 1 + dlls/msvcrt/msvcrt.spec | 2 +- dlls/ucrtbase/ucrtbase.spec | 4 ++-- 11 files changed, 20 insertions(+), 12 deletions(-)
diff --git a/dlls/api-ms-win-crt-multibyte-l1-1-0/api-ms-win-crt-multibyte-l1-1-0.spec b/dlls/api-ms-win-crt-multibyte-l1-1-0/api-ms-win-crt-multibyte-l1-1-0.spec index 0137c7e649..4d63b2fa59 100644 --- a/dlls/api-ms-win-crt-multibyte-l1-1-0/api-ms-win-crt-multibyte-l1-1-0.spec +++ b/dlls/api-ms-win-crt-multibyte-l1-1-0/api-ms-win-crt-multibyte-l1-1-0.spec @@ -27,7 +27,7 @@ @ cdecl _ismbcalnum(long) ucrtbase._ismbcalnum @ cdecl _ismbcalnum_l(long ptr) ucrtbase._ismbcalnum_l @ cdecl _ismbcalpha(long) ucrtbase._ismbcalpha -@ stub _ismbcalpha_l +@ cdecl _ismbcalpha_l(long ptr) ucrtbase._ismbcalpha_l @ stub _ismbcblank @ stub _ismbcblank_l @ cdecl _ismbcdigit(long) ucrtbase._ismbcdigit diff --git a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec index 6ddcbe2c7a..264d695496 100644 --- a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec +++ b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec @@ -400,7 +400,7 @@ @ cdecl _o__ismbcalnum(long) ucrtbase._o__ismbcalnum @ cdecl _o__ismbcalnum_l(long ptr) ucrtbase._o__ismbcalnum_l @ cdecl _o__ismbcalpha(long) ucrtbase._o__ismbcalpha -@ stub _o__ismbcalpha_l +@ cdecl _o__ismbcalpha_l(long ptr) ucrtbase._o__ismbcalpha_l @ stub _o__ismbcblank @ stub _o__ismbcblank_l @ cdecl _o__ismbcdigit(long) ucrtbase._o__ismbcdigit diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 9d78aa042f..c308e0d9ae 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -977,7 +977,7 @@ @ cdecl _ismbcalnum(long) @ cdecl _ismbcalnum_l(long ptr) @ cdecl _ismbcalpha(long) -@ stub _ismbcalpha_l +@ cdecl _ismbcalpha_l(long ptr) @ cdecl _ismbcdigit(long) @ cdecl _ismbcdigit_l(long ptr) @ cdecl _ismbcgraph(long) diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 1512804543..1d01c624a6 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1323,7 +1323,7 @@ @ cdecl _ismbcalnum(long) @ cdecl _ismbcalnum_l(long ptr) @ cdecl _ismbcalpha(long) -@ stub _ismbcalpha_l +@ cdecl _ismbcalpha_l(long ptr) @ cdecl _ismbcdigit(long) @ cdecl _ismbcdigit_l(long ptr) @ cdecl _ismbcgraph(long) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index d8be0af00d..7548f62b6d 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1326,7 +1326,7 @@ @ cdecl _ismbcalnum(long) @ cdecl _ismbcalnum_l(long ptr) @ cdecl _ismbcalpha(long) -@ stub _ismbcalpha_l +@ cdecl _ismbcalpha_l(long ptr) @ stub _ismbcblank @ stub _ismbcblank_l @ cdecl _ismbcdigit(long) diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 513ed375e1..322fcfb679 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -649,7 +649,7 @@ @ cdecl _ismbcalnum(long) @ cdecl _ismbcalnum_l(long ptr) @ cdecl _ismbcalpha(long) -@ stub _ismbcalpha_l +@ cdecl _ismbcalpha_l(long ptr) @ cdecl _ismbcdigit(long) @ cdecl _ismbcdigit_l(long ptr) @ cdecl _ismbcgraph(long) diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index e39ecb900d..d6bd5fbfa5 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -627,7 +627,7 @@ @ cdecl _ismbcalnum(long) @ cdecl _ismbcalnum_l(long ptr) @ cdecl _ismbcalpha(long) -@ stub _ismbcalpha_l +@ cdecl _ismbcalpha_l(long ptr) @ cdecl _ismbcdigit(long) @ cdecl _ismbcdigit_l(long ptr) @ cdecl _ismbcgraph(long) diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c index 813092a12f..73bc45c63b 100644 --- a/dlls/msvcrt/mbcs.c +++ b/dlls/msvcrt/mbcs.c @@ -1459,13 +1459,20 @@ int CDECL _ismbcgraph(unsigned int ch) return _ismbcgraph_l( ch, NULL ); }
+/********************************************************************* + * _ismbcalpha_l (MSVCRT.@) + */ +int CDECL _ismbcalpha_l(unsigned int ch, MSVCRT__locale_t locale) +{ + return MSVCRT__iswalpha_l( msvcrt_mbc_to_wc_l(ch, locale), locale ); +} + /********************************************************************* * _ismbcalpha (MSVCRT.@) */ int CDECL _ismbcalpha(unsigned int ch) { - MSVCRT_wchar_t wch = msvcrt_mbc_to_wc( ch ); - return (get_char_typeW( wch ) & C1_ALPHA); + return _ismbcalpha_l( ch, NULL ); }
/********************************************************************* diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h index ffd417be4e..dc51dfa926 100644 --- a/dlls/msvcrt/msvcrt.h +++ b/dlls/msvcrt/msvcrt.h @@ -1204,6 +1204,7 @@ int __cdecl MSVCRT_towupper(MSVCRT_wint_t); int __cdecl MSVCRT__iswalnum_l(MSVCRT_wchar_t, MSVCRT__locale_t); int __cdecl MSVCRT__iswdigit_l(MSVCRT_wchar_t, MSVCRT__locale_t); int __cdecl MSVCRT__iswgraph_l(MSVCRT_wchar_t, MSVCRT__locale_t); +int __cdecl MSVCRT__iswalpha_l(MSVCRT_wchar_t, MSVCRT__locale_t);
/* Maybe one day we'll enable the invalid parameter handlers with the full set of information (msvcrXXd) * #define MSVCRT_INVALID_PMT(x) MSVCRT_call_invalid_parameter_handler(x, __FUNCTION__, __FILE__, __LINE__, 0) diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 477afdd252..e347367c75 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -595,7 +595,7 @@ @ cdecl _ismbcalnum(long) @ cdecl _ismbcalnum_l(long ptr) @ cdecl _ismbcalpha(long) -# stub _ismbcalpha_l(long ptr) +@ cdecl _ismbcalpha_l(long ptr) @ cdecl _ismbcdigit(long) @ cdecl _ismbcdigit_l(long ptr) @ cdecl _ismbcgraph(long) diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index 9d4f557c32..55bca3c414 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -465,7 +465,7 @@ @ cdecl _ismbcalnum(long) @ cdecl _ismbcalnum_l(long ptr) @ cdecl _ismbcalpha(long) -@ stub _ismbcalpha_l +@ cdecl _ismbcalpha_l(long ptr) @ stub _ismbcblank @ stub _ismbcblank_l @ cdecl _ismbcdigit(long) @@ -1064,7 +1064,7 @@ @ cdecl _o__ismbcalnum(long) _ismbcalnum @ cdecl _o__ismbcalnum_l(long ptr) _ismbcalnum_l @ cdecl _o__ismbcalpha(long) _ismbcalpha -@ stub _o__ismbcalpha_l +@ cdecl _o__ismbcalpha_l(long ptr) _ismbcalpha_l @ stub _o__ismbcblank @ stub _o__ismbcblank_l @ cdecl _o__ismbcdigit(long) _ismbcdigit