Module: wine Branch: master Commit: fbbcd3f8f86bbf745f22b962f0825de3bb2eb2c9 URL: https://source.winehq.org/git/wine.git/?a=commit;h=fbbcd3f8f86bbf745f22b962f...
Author: Piotr Caban piotr@codeweavers.com Date: Thu Jul 16 15:32:46 2020 +0200
msvcrt: Add _ismbbkana_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/msvcr120_app/msvcr120_app.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/mbcs.c | 30 ++++++++++++++++------ dlls/msvcrt/msvcrt.spec | 2 +- dlls/ucrtbase/ucrtbase.spec | 4 +-- 11 files changed, 33 insertions(+), 19 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 f25dfb7d8f..2e20080ea3 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 @@ -11,7 +11,7 @@ @ cdecl _ismbbkalnum(long) ucrtbase._ismbbkalnum @ stub _ismbbkalnum_l @ cdecl _ismbbkana(long) ucrtbase._ismbbkana -@ stub _ismbbkana_l +@ cdecl _ismbbkana_l(long ptr) ucrtbase._ismbbkana_l @ cdecl _ismbbkprint(long) ucrtbase._ismbbkprint @ stub _ismbbkprint_l @ cdecl _ismbbkpunct(long) ucrtbase._ismbbkpunct 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 c5ed1db00f..b428f26edb 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 @@ -384,7 +384,7 @@ @ stub _o__ismbbkalnum @ stub _o__ismbbkalnum_l @ cdecl _o__ismbbkana(long) ucrtbase._o__ismbbkana -@ stub _o__ismbbkana_l +@ cdecl _o__ismbbkana_l(long ptr) ucrtbase._o__ismbbkana_l @ stub _o__ismbbkprint @ stub _o__ismbbkprint_l @ stub _o__ismbbkpunct diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 534889b195..5f38a7a3fb 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -961,7 +961,7 @@ @ stub _ismbbkalnum(long) @ stub _ismbbkalnum_l @ cdecl _ismbbkana(long) -@ stub _ismbbkana_l +@ cdecl _ismbbkana_l(long ptr) @ stub _ismbbkprint(long) @ stub _ismbbkprint_l @ stub _ismbbkpunct(long) diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 820fb973f7..9589d62c71 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1307,7 +1307,7 @@ @ stub _ismbbkalnum(long) @ stub _ismbbkalnum_l @ cdecl _ismbbkana(long) -@ stub _ismbbkana_l +@ cdecl _ismbbkana_l(long ptr) @ stub _ismbbkprint(long) @ stub _ismbbkprint_l @ stub _ismbbkpunct(long) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 1d9662a5c2..2ca13a6cdc 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1310,7 +1310,7 @@ @ stub _ismbbkalnum(long) @ stub _ismbbkalnum_l @ cdecl _ismbbkana(long) -@ stub _ismbbkana_l +@ cdecl _ismbbkana_l(long ptr) @ stub _ismbbkprint(long) @ stub _ismbbkprint_l @ stub _ismbbkpunct(long) diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index af3d1b5231..e622f95af1 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -1213,7 +1213,7 @@ @ cdecl _ismbbkalnum(long) msvcr120._ismbbkalnum @ stub _ismbbkalnum_l @ cdecl _ismbbkana(long) msvcr120._ismbbkana -@ stub _ismbbkana_l +@ cdecl _ismbbkana_l(long ptr) msvcr120._ismbbkana_l @ cdecl _ismbbkprint(long) msvcr120._ismbbkprint @ stub _ismbbkprint_l @ cdecl _ismbbkpunct(long) msvcr120._ismbbkpunct diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 0d805c87b1..17376db528 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -633,7 +633,7 @@ @ stub _ismbbkalnum(long) @ stub _ismbbkalnum_l @ cdecl _ismbbkana(long) -@ stub _ismbbkana_l +@ cdecl _ismbbkana_l(long ptr) @ stub _ismbbkprint(long) @ stub _ismbbkprint_l @ stub _ismbbkpunct(long) diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 460ae6cf89..602f1449ac 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -611,7 +611,7 @@ @ stub _ismbbkalnum(long) @ stub _ismbbkalnum_l @ cdecl _ismbbkana(long) -@ stub _ismbbkana_l +@ cdecl _ismbbkana_l(long ptr) @ stub _ismbbkprint(long) @ stub _ismbbkprint_l @ stub _ismbbkpunct(long) diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c index f9868635e1..8376fe2098 100644 --- a/dlls/msvcrt/mbcs.c +++ b/dlls/msvcrt/mbcs.c @@ -1389,17 +1389,31 @@ int CDECL _mbbtype(unsigned char c, int type) }
/********************************************************************* - * _ismbbkana(MSVCRT.@) + * _ismbbkana_l(MSVCRT.@) + */ +int CDECL _ismbbkana_l(unsigned int c, MSVCRT__locale_t locale) +{ + MSVCRT_pthreadmbcinfo mbcinfo; + + if(locale) + mbcinfo = locale->mbcinfo; + else + mbcinfo = get_mbcinfo(); + + if(mbcinfo->mbcodepage == 932) + { + /* Japanese/Katakana, CP 932 */ + return (c >= 0xa1 && c <= 0xdf); + } + return 0; +} + +/********************************************************************* + * _ismbbkana(MSVCRT.@) */ int CDECL _ismbbkana(unsigned int c) { - /* FIXME: use lc_ctype when supported, not lc_all */ - if(get_mbcinfo()->mbcodepage == 932) - { - /* Japanese/Katakana, CP 932 */ - return (c >= 0xa1 && c <= 0xdf); - } - return 0; + return _ismbbkana_l( c, NULL ); }
/********************************************************************* diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index cc2f257d6a..0d0221461a 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -579,7 +579,7 @@ @ stub _ismbbkalnum(long) # stub _ismbbkalnum_l(long ptr) @ cdecl _ismbbkana(long) -# stub _ismbbkana_l(long ptr) +@ cdecl _ismbbkana_l(long ptr) @ stub _ismbbkprint(long) # stub _ismbbkprint_l(long ptr) @ stub _ismbbkpunct(long) diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index 6a919a823f..5436d4cac2 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -449,7 +449,7 @@ @ stub _ismbbkalnum(long) @ stub _ismbbkalnum_l @ cdecl _ismbbkana(long) -@ stub _ismbbkana_l +@ cdecl _ismbbkana_l(long ptr) @ stub _ismbbkprint(long) @ stub _ismbbkprint_l @ stub _ismbbkpunct(long) @@ -1048,7 +1048,7 @@ @ stub _o__ismbbkalnum @ stub _o__ismbbkalnum_l @ cdecl _o__ismbbkana(long) _ismbbkana -@ stub _o__ismbbkana_l +@ cdecl _o__ismbbkana_l(long ptr) _ismbbkana_l @ stub _o__ismbbkprint @ stub _o__ismbbkprint_l @ stub _o__ismbbkpunct