Nikolay Sivov : msvcrt: Add _ismbcl0_l().

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


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

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

msvcrt: Add _ismbcl0_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                                 | 27 +++++++++++++++++-----
 dlls/msvcrt/msvcrt.spec                            |  2 +-
 dlls/ucrtbase/ucrtbase.spec                        |  2 +-
 9 files changed, 29 insertions(+), 14 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 f83af10..9fe80de 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
@@ -39,7 +39,7 @@
 @ cdecl _ismbckata(long) ucrtbase._ismbckata
 @ stub _ismbckata_l
 @ cdecl _ismbcl0(long) ucrtbase._ismbcl0
-@ stub _ismbcl0_l
+@ cdecl _ismbcl0_l(long ptr) ucrtbase._ismbcl0_l
 @ cdecl _ismbcl1(long) ucrtbase._ismbcl1
 @ stub _ismbcl1_l
 @ cdecl _ismbcl2(long) ucrtbase._ismbcl2
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index b3bccf6..25bd7d9 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -987,7 +987,7 @@
 @ cdecl _ismbckata(long)
 @ stub _ismbckata_l
 @ cdecl _ismbcl0(long)
-@ stub _ismbcl0_l
+@ cdecl _ismbcl0_l(long ptr)
 @ stub _ismbcl1(long)
 @ stub _ismbcl1_l
 @ stub _ismbcl2(long)
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index 77e1a37..f5d1135 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -1333,7 +1333,7 @@
 @ cdecl _ismbckata(long)
 @ stub _ismbckata_l
 @ cdecl _ismbcl0(long)
-@ stub _ismbcl0_l
+@ cdecl _ismbcl0_l(long ptr)
 @ stub _ismbcl1(long)
 @ stub _ismbcl1_l
 @ stub _ismbcl2(long)
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 5d26417..e229dd1 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -1338,7 +1338,7 @@
 @ cdecl _ismbckata(long)
 @ stub _ismbckata_l
 @ cdecl _ismbcl0(long)
-@ stub _ismbcl0_l
+@ cdecl _ismbcl0_l(long ptr)
 @ stub _ismbcl1(long)
 @ stub _ismbcl1_l
 @ stub _ismbcl2(long)
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index 87cb490..a0430f2 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -659,7 +659,7 @@
 @ cdecl _ismbckata(long)
 @ stub _ismbckata_l
 @ cdecl _ismbcl0(long)
-@ stub _ismbcl0_l
+@ cdecl _ismbcl0_l(long ptr)
 @ stub _ismbcl1(long)
 @ stub _ismbcl1_l
 @ stub _ismbcl2(long)
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 2bc27d4..0eff774 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -637,7 +637,7 @@
 @ cdecl _ismbckata(long)
 @ stub _ismbckata_l
 @ cdecl _ismbcl0(long)
-@ stub _ismbcl0_l
+@ cdecl _ismbcl0_l(long ptr)
 @ stub _ismbcl1(long)
 @ stub _ismbcl1_l
 @ stub _ismbcl2(long)
diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c
index a0ce73f..ea9a308 100644
--- a/dlls/msvcrt/mbcs.c
+++ b/dlls/msvcrt/mbcs.c
@@ -2551,16 +2551,31 @@ unsigned int CDECL _mbctokata(unsigned int c)
     return c;
 }
 
+/*********************************************************************
+ *		_ismbcl0_l (MSVCRT.@)
+ */
+int CDECL _ismbcl0_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 non-Kanji */
+        return _ismbclegal(c) && c >= 0x8140 && c <= 0x889e;
+    }
+
+    return 0;
+}
 
 /*********************************************************************
  *		_ismbcl0 (MSVCRT.@)
  */
 int CDECL _ismbcl0(unsigned int c)
 {
-  if(get_mbcinfo()->mbcodepage == 932)
-  {
-    /* JIS non-Kanji */
-    return _ismbclegal(c) && c >= 0x8140 && c <= 0x889e;
-  }
-  return 0;
+    return _ismbcl0_l(c, NULL);
 }
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 73bc468..c9182ae 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -608,7 +608,7 @@
 @ cdecl _ismbckata(long)
 # stub _ismbckata_l(long ptr)
 @ cdecl _ismbcl0(long)
-# stub _ismbcl0_l(long ptr)
+@ cdecl _ismbcl0_l(long ptr)
 @ stub _ismbcl1(long)
 # stub _ismbcl1_l(long ptr)
 @ stub _ismbcl2(long)
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index c013492..156d546 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -477,7 +477,7 @@
 @ cdecl _ismbckata(long)
 @ stub _ismbckata_l
 @ cdecl _ismbcl0(long)
-@ stub _ismbcl0_l
+@ cdecl _ismbcl0_l(long ptr)
 @ stub _ismbcl1(long)
 @ stub _ismbcl1_l
 @ stub _ismbcl2(long)




More information about the wine-cvs mailing list