Piotr Caban : msvcrt: Add _ismbbkana_l implementation.
Alexandre Julliard
julliard at winehq.org
Thu Jul 16 19:01:22 CDT 2020
Module: wine
Branch: master
Commit: fbbcd3f8f86bbf745f22b962f0825de3bb2eb2c9
URL: https://source.winehq.org/git/wine.git/?a=commit;h=fbbcd3f8f86bbf745f22b962f0825de3bb2eb2c9
Author: Piotr Caban <piotr at codeweavers.com>
Date: Thu Jul 16 15:32:46 2020 +0200
msvcrt: Add _ismbbkana_l implementation.
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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
More information about the wine-cvs
mailing list