[PATCH 2/3] msvcrt: Add _ismbcl1_l().

Nikolay Sivov nsivov at codeweavers.com
Thu Feb 14 01:56:04 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 3ea8b3c470..6b3aabdf47 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
@@ -41,7 +41,7 @@
 @ cdecl _ismbcl0(long) ucrtbase._ismbcl0
 @ cdecl _ismbcl0_l(long ptr) ucrtbase._ismbcl0_l
 @ cdecl _ismbcl1(long) ucrtbase._ismbcl1
-@ stub _ismbcl1_l
+@ cdecl _ismbcl1_l(long ptr) ucrtbase._ismbcl1_l
 @ cdecl _ismbcl2(long) ucrtbase._ismbcl2
 @ stub _ismbcl2_l
 @ cdecl _ismbclegal(long) ucrtbase._ismbclegal
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 6973090cb3..9f74447e31 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -989,7 +989,7 @@
 @ cdecl _ismbcl0(long)
 @ cdecl _ismbcl0_l(long ptr)
 @ stub _ismbcl1(long)
-@ stub _ismbcl1_l
+@ cdecl _ismbcl1_l(long ptr)
 @ stub _ismbcl2(long)
 @ stub _ismbcl2_l
 @ cdecl _ismbclegal(long)
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index f37380787d..70a74646ee 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -1335,7 +1335,7 @@
 @ cdecl _ismbcl0(long)
 @ cdecl _ismbcl0_l(long ptr)
 @ stub _ismbcl1(long)
-@ stub _ismbcl1_l
+@ cdecl _ismbcl1_l(long ptr)
 @ stub _ismbcl2(long)
 @ stub _ismbcl2_l
 @ cdecl _ismbclegal(long)
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 43426bef34..b22b058c61 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -1340,7 +1340,7 @@
 @ cdecl _ismbcl0(long)
 @ cdecl _ismbcl0_l(long ptr)
 @ stub _ismbcl1(long)
-@ stub _ismbcl1_l
+@ cdecl _ismbcl1_l(long ptr)
 @ stub _ismbcl2(long)
 @ stub _ismbcl2_l
 @ cdecl _ismbclegal(long)
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index c15d317923..93347fd4b5 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -661,7 +661,7 @@
 @ cdecl _ismbcl0(long)
 @ cdecl _ismbcl0_l(long ptr)
 @ stub _ismbcl1(long)
-@ stub _ismbcl1_l
+@ cdecl _ismbcl1_l(long ptr)
 @ stub _ismbcl2(long)
 @ stub _ismbcl2_l
 @ cdecl _ismbclegal(long)
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 35e75d69dd..dd7205256d 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -639,7 +639,7 @@
 @ cdecl _ismbcl0(long)
 @ cdecl _ismbcl0_l(long ptr)
 @ stub _ismbcl1(long)
-@ stub _ismbcl1_l
+@ cdecl _ismbcl1_l(long ptr)
 @ stub _ismbcl2(long)
 @ stub _ismbcl2_l
 @ cdecl _ismbclegal(long)
diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c
index 16905f95b5..ab16dad149 100644
--- a/dlls/msvcrt/mbcs.c
+++ b/dlls/msvcrt/mbcs.c
@@ -2550,6 +2550,27 @@ int CDECL _ismbcl0_l(unsigned int c, MSVCRT__locale_t locale)
     return 0;
 }
 
+/*********************************************************************
+ *		_ismbcl1_l (MSVCRT.@)
+ */
+int CDECL _ismbcl1_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-1 */
+        return c >= 0x889f && c <= 0x9872;
+    }
+
+    return 0;
+}
+
 /*********************************************************************
  *		_ismbcl0 (MSVCRT.@)
  */
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 10e231b01e..19ffee579b 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -610,7 +610,7 @@
 @ cdecl _ismbcl0(long)
 @ cdecl _ismbcl0_l(long ptr)
 @ stub _ismbcl1(long)
-# stub _ismbcl1_l(long ptr)
+@ cdecl _ismbcl1_l(long ptr)
 @ stub _ismbcl2(long)
 # stub _ismbcl2_l(long ptr)
 @ cdecl _ismbclegal(long)
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index 6426eafdea..32ddb44575 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -479,7 +479,7 @@
 @ cdecl _ismbcl0(long)
 @ cdecl _ismbcl0_l(long ptr)
 @ stub _ismbcl1(long)
-@ stub _ismbcl1_l
+@ cdecl _ismbcl1_l(long ptr)
 @ stub _ismbcl2(long)
 @ stub _ismbcl2_l
 @ cdecl _ismbclegal(long)
-- 
2.20.1




More information about the wine-devel mailing list