Nikolay Sivov : msvcrt: Add _ismbcl1_l().

Alexandre Julliard julliard at winehq.org
Thu Feb 14 16:19:11 CST 2019


Module: wine
Branch: master
Commit: 1b86a06ff8b67eece4e795a868fd6b3fd36d43fa
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=1b86a06ff8b67eece4e795a868fd6b3fd36d43fa

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Thu Feb 14 14:35:40 2019 +0100

msvcrt: Add _ismbcl1_l().

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
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 +-
 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 9fe80de..270e2c2 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 25bd7d9..e9fdbff 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 f5d1135..dc1fa1d 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 e229dd1..5d05b3d 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 a0430f2..ec1cd22 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 0eff774..78f1768 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 ea9a308..9174214 100644
--- a/dlls/msvcrt/mbcs.c
+++ b/dlls/msvcrt/mbcs.c
@@ -2579,3 +2579,24 @@ int CDECL _ismbcl0(unsigned int c)
 {
     return _ismbcl0_l(c, NULL);
 }
+
+/*********************************************************************
+ *		_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 _ismbclegal(c) && c >= 0x889f && c <= 0x9872;
+    }
+
+    return 0;
+}
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index c9182ae..b6b7882 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 156d546..8387521 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)




More information about the wine-cvs mailing list