Nikolay Sivov : msvcrt: Add _ismbcl2_l().

Alexandre Julliard julliard at winehq.org
Fri Feb 15 14:37:00 CST 2019


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Fri Feb 15 12:24:48 2019 +0100

msvcrt: Add _ismbcl2_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 270e2c2..3f60bb4 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 202042d..eefa573 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 1f4bfe3..a6ed5c1 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 7e03eb1..441c0be 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 7dc4ea8..43c3e46 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 16a2473..a9bf0a2 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 c8ee84d..ca6dca3 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_l(c, locale) && c >= 0x989f && c <= 0xeaa4;
+    }
+
+    return 0;
+}
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 1f9ad64..42de9ce 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 db894a0..e1315ec 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)




More information about the wine-cvs mailing list