Module: wine Branch: master Commit: 2d89bccfc37f1b4ceb778109c4217b7404640a83 URL: https://source.winehq.org/git/wine.git/?a=commit;h=2d89bccfc37f1b4ceb778109c...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Thu Feb 14 14:35:32 2019 +0100
msvcrt: Add _ismbcl0_l().
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com 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 +- 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 | 27 +++++++++++++++++----- dlls/msvcrt/msvcrt.spec | 2 +- dlls/ucrtbase/ucrtbase.spec | 2 +- 9 files changed, 29 insertions(+), 14 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 f83af10..9fe80de 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 @@ -39,7 +39,7 @@ @ cdecl _ismbckata(long) ucrtbase._ismbckata @ stub _ismbckata_l @ cdecl _ismbcl0(long) ucrtbase._ismbcl0 -@ stub _ismbcl0_l +@ cdecl _ismbcl0_l(long ptr) ucrtbase._ismbcl0_l @ cdecl _ismbcl1(long) ucrtbase._ismbcl1 @ stub _ismbcl1_l @ cdecl _ismbcl2(long) ucrtbase._ismbcl2 diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index b3bccf6..25bd7d9 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -987,7 +987,7 @@ @ cdecl _ismbckata(long) @ stub _ismbckata_l @ cdecl _ismbcl0(long) -@ stub _ismbcl0_l +@ cdecl _ismbcl0_l(long ptr) @ stub _ismbcl1(long) @ stub _ismbcl1_l @ stub _ismbcl2(long) diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 77e1a37..f5d1135 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1333,7 +1333,7 @@ @ cdecl _ismbckata(long) @ stub _ismbckata_l @ cdecl _ismbcl0(long) -@ stub _ismbcl0_l +@ cdecl _ismbcl0_l(long ptr) @ stub _ismbcl1(long) @ stub _ismbcl1_l @ stub _ismbcl2(long) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 5d26417..e229dd1 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1338,7 +1338,7 @@ @ cdecl _ismbckata(long) @ stub _ismbckata_l @ cdecl _ismbcl0(long) -@ stub _ismbcl0_l +@ cdecl _ismbcl0_l(long ptr) @ stub _ismbcl1(long) @ stub _ismbcl1_l @ stub _ismbcl2(long) diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 87cb490..a0430f2 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -659,7 +659,7 @@ @ cdecl _ismbckata(long) @ stub _ismbckata_l @ cdecl _ismbcl0(long) -@ stub _ismbcl0_l +@ cdecl _ismbcl0_l(long ptr) @ stub _ismbcl1(long) @ stub _ismbcl1_l @ stub _ismbcl2(long) diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 2bc27d4..0eff774 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -637,7 +637,7 @@ @ cdecl _ismbckata(long) @ stub _ismbckata_l @ cdecl _ismbcl0(long) -@ stub _ismbcl0_l +@ cdecl _ismbcl0_l(long ptr) @ stub _ismbcl1(long) @ stub _ismbcl1_l @ stub _ismbcl2(long) diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c index a0ce73f..ea9a308 100644 --- a/dlls/msvcrt/mbcs.c +++ b/dlls/msvcrt/mbcs.c @@ -2551,16 +2551,31 @@ unsigned int CDECL _mbctokata(unsigned int c) return c; }
+/********************************************************************* + * _ismbcl0_l (MSVCRT.@) + */ +int CDECL _ismbcl0_l(unsigned int c, MSVCRT__locale_t locale) +{ + MSVCRT_pthreadmbcinfo mbcinfo; + + if(!locale) + mbcinfo = get_mbcinfo(); + else + mbcinfo = locale->mbcinfo; + + if(mbcinfo->mbcodepage == 932) + { + /* JIS non-Kanji */ + return _ismbclegal(c) && c >= 0x8140 && c <= 0x889e; + } + + return 0; +}
/********************************************************************* * _ismbcl0 (MSVCRT.@) */ int CDECL _ismbcl0(unsigned int c) { - if(get_mbcinfo()->mbcodepage == 932) - { - /* JIS non-Kanji */ - return _ismbclegal(c) && c >= 0x8140 && c <= 0x889e; - } - return 0; + return _ismbcl0_l(c, NULL); } diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 73bc468..c9182ae 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -608,7 +608,7 @@ @ cdecl _ismbckata(long) # stub _ismbckata_l(long ptr) @ cdecl _ismbcl0(long) -# stub _ismbcl0_l(long ptr) +@ cdecl _ismbcl0_l(long ptr) @ stub _ismbcl1(long) # stub _ismbcl1_l(long ptr) @ stub _ismbcl2(long) diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index c013492..156d546 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -477,7 +477,7 @@ @ cdecl _ismbckata(long) @ stub _ismbckata_l @ cdecl _ismbcl0(long) -@ stub _ismbcl0_l +@ cdecl _ismbcl0_l(long ptr) @ stub _ismbcl1(long) @ stub _ismbcl1_l @ stub _ismbcl2(long)