[PATCH 1/2] msvcrt: Add _ismbcl2_l().
Nikolay Sivov
nsivov at codeweavers.com
Fri Feb 15 00:29:44 CST 2019
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
.../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 | 21 +++++++++++++++++++
dlls/msvcrt/msvcrt.spec | 2 +-
dlls/ucrtbase/ucrtbase.spec | 2 +-
9 files changed, 29 insertions(+), 8 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 270e2c23da..3f60bb4162 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
@@ -43,7 +43,7 @@
@ cdecl _ismbcl1(long) ucrtbase._ismbcl1
@ cdecl _ismbcl1_l(long ptr) ucrtbase._ismbcl1_l
@ cdecl _ismbcl2(long) ucrtbase._ismbcl2
-@ stub _ismbcl2_l
+@ cdecl _ismbcl2_l(long ptr) ucrtbase._ismbcl2_l
@ cdecl _ismbclegal(long) ucrtbase._ismbclegal
@ cdecl _ismbclegal_l(long ptr) ucrtbase._ismbclegal_l
@ cdecl _ismbclower(long) ucrtbase._ismbclower
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 202042da58..eefa57348d 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -991,7 +991,7 @@
@ cdecl _ismbcl1(long)
@ cdecl _ismbcl1_l(long ptr)
@ stub _ismbcl2(long)
-@ stub _ismbcl2_l
+@ cdecl _ismbcl2_l(long ptr)
@ cdecl _ismbclegal(long)
@ cdecl _ismbclegal_l(long ptr)
@ cdecl _ismbclower(long)
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index 1f4bfe3a92..a6ed5c1235 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -1337,7 +1337,7 @@
@ cdecl _ismbcl1(long)
@ cdecl _ismbcl1_l(long ptr)
@ stub _ismbcl2(long)
-@ stub _ismbcl2_l
+@ cdecl _ismbcl2_l(long ptr)
@ cdecl _ismbclegal(long)
@ cdecl _ismbclegal_l(long ptr)
@ stub _ismbclower(long)
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 7e03eb1e99..441c0bee86 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -1342,7 +1342,7 @@
@ cdecl _ismbcl1(long)
@ cdecl _ismbcl1_l(long ptr)
@ stub _ismbcl2(long)
-@ stub _ismbcl2_l
+@ cdecl _ismbcl2_l(long ptr)
@ cdecl _ismbclegal(long)
@ cdecl _ismbclegal_l(long ptr)
@ stub _ismbclower(long)
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index 7dc4ea881c..43c3e46325 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -663,7 +663,7 @@
@ cdecl _ismbcl1(long)
@ cdecl _ismbcl1_l(long ptr)
@ stub _ismbcl2(long)
-@ stub _ismbcl2_l
+@ cdecl _ismbcl2_l(long ptr)
@ cdecl _ismbclegal(long)
@ cdecl _ismbclegal_l(long ptr)
@ cdecl _ismbclower(long)
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 16a24735ff..a9bf0a2702 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -641,7 +641,7 @@
@ cdecl _ismbcl1(long)
@ cdecl _ismbcl1_l(long ptr)
@ stub _ismbcl2(long)
-@ stub _ismbcl2_l
+@ cdecl _ismbcl2_l(long ptr)
@ cdecl _ismbclegal(long)
@ cdecl _ismbclegal_l(long ptr)
@ cdecl _ismbclower(long)
diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c
index 909ea46371..1026465644 100644
--- a/dlls/msvcrt/mbcs.c
+++ b/dlls/msvcrt/mbcs.c
@@ -2608,3 +2608,24 @@ int CDECL _ismbcl1(unsigned int c)
{
return _ismbcl1_l(c, NULL);
}
+
+/*********************************************************************
+ * _ismbcl2_l (MSVCRT.@)
+ */
+int CDECL _ismbcl2_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 level-2 */
+ return _ismbclegal(c) && c >= 0x989f && c <= 0xeaa4;
+ }
+
+ return 0;
+}
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 1f9ad647cf..42de9ced96 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -612,7 +612,7 @@
@ cdecl _ismbcl1(long)
@ cdecl _ismbcl1_l(long ptr)
@ stub _ismbcl2(long)
-# stub _ismbcl2_l(long ptr)
+@ cdecl _ismbcl2_l(long ptr)
@ cdecl _ismbclegal(long)
@ cdecl _ismbclegal_l(long ptr)
@ cdecl _ismbclower(long)
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index db894a0eb9..e1315ec1ce 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -481,7 +481,7 @@
@ cdecl _ismbcl1(long)
@ cdecl _ismbcl1_l(long ptr)
@ stub _ismbcl2(long)
-@ stub _ismbcl2_l
+@ cdecl _ismbcl2_l(long ptr)
@ cdecl _ismbclegal(long)
@ cdecl _ismbclegal_l(long ptr)
@ stub _ismbclower(long)
--
2.20.1
More information about the wine-devel
mailing list