Piotr Caban : msvcrt: Add _ismbclegal_l implementation.

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


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Thu Feb 14 14:35:07 2019 +0100

msvcrt: Add _ismbclegal_l implementation.

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                                             | 10 +++++++++-
 dlls/msvcrt/msvcrt.spec                                        |  2 +-
 dlls/ucrtbase/ucrtbase.spec                                    |  2 +-
 9 files changed, 17 insertions(+), 9 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 31ccd0f..f83af10 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
@@ -45,7 +45,7 @@
 @ cdecl _ismbcl2(long) ucrtbase._ismbcl2
 @ stub _ismbcl2_l
 @ cdecl _ismbclegal(long) ucrtbase._ismbclegal
-@ stub _ismbclegal_l
+@ cdecl _ismbclegal_l(long ptr) ucrtbase._ismbclegal_l
 @ cdecl _ismbclower(long) ucrtbase._ismbclower
 @ stub _ismbclower_l
 @ cdecl _ismbcprint(long) ucrtbase._ismbcprint
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 5e30c77..b3bccf6 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -993,7 +993,7 @@
 @ stub _ismbcl2(long)
 @ stub _ismbcl2_l
 @ cdecl _ismbclegal(long)
-@ stub _ismbclegal_l
+@ cdecl _ismbclegal_l(long ptr)
 @ cdecl _ismbclower(long)
 @ stub _ismbclower_l
 @ cdecl _ismbcprint(long)
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index 8f35f48..77e1a37 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -1339,7 +1339,7 @@
 @ stub _ismbcl2(long)
 @ stub _ismbcl2_l
 @ cdecl _ismbclegal(long)
-@ stub _ismbclegal_l
+@ cdecl _ismbclegal_l(long ptr)
 @ stub _ismbclower(long)
 @ stub _ismbclower_l
 @ stub _ismbcprint(long)
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 49b3327..5d26417 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -1344,7 +1344,7 @@
 @ stub _ismbcl2(long)
 @ stub _ismbcl2_l
 @ cdecl _ismbclegal(long)
-@ stub _ismbclegal_l
+@ cdecl _ismbclegal_l(long ptr)
 @ stub _ismbclower(long)
 @ stub _ismbclower_l
 @ cdecl _ismbcprint(long)
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index c1b3d8b..87cb490 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -665,7 +665,7 @@
 @ stub _ismbcl2(long)
 @ stub _ismbcl2_l
 @ cdecl _ismbclegal(long)
-@ stub _ismbclegal_l
+@ cdecl _ismbclegal_l(long ptr)
 @ cdecl _ismbclower(long)
 @ stub _ismbclower_l
 @ cdecl _ismbcprint(long)
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 3da8fdf..2bc27d4 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -643,7 +643,7 @@
 @ stub _ismbcl2(long)
 @ stub _ismbcl2_l
 @ cdecl _ismbclegal(long)
-@ stub _ismbclegal_l
+@ cdecl _ismbclegal_l(long ptr)
 @ cdecl _ismbclower(long)
 @ stub _ismbclower_l
 @ cdecl _ismbcprint(long)
diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c
index d470f10..4b2d742 100644
--- a/dlls/msvcrt/mbcs.c
+++ b/dlls/msvcrt/mbcs.c
@@ -1575,11 +1575,19 @@ int CDECL _ismbbtrail(unsigned int c)
 }
 
 /*********************************************************************
+ *              _ismbclegal_l(MSVCRT.@)
+ */
+int CDECL _ismbclegal_l(unsigned int c, MSVCRT__locale_t locale)
+{
+    return _ismbblead_l(HIBYTE(c), locale) && _ismbbtrail_l(LOBYTE(c), locale);
+}
+
+/*********************************************************************
  *              _ismbclegal(MSVCRT.@)
  */
 int CDECL _ismbclegal(unsigned int c)
 {
-    return _ismbblead(HIBYTE(c)) && _ismbbtrail(LOBYTE(c));
+    return _ismbclegal_l(c, NULL);
 }
 
 /*********************************************************************
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 0154998..73bc468 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -614,7 +614,7 @@
 @ stub _ismbcl2(long)
 # stub _ismbcl2_l(long ptr)
 @ cdecl _ismbclegal(long)
-# stub _ismbclegal_l(long ptr)
+@ cdecl _ismbclegal_l(long ptr)
 @ cdecl _ismbclower(long)
 # stub _ismbclower_l(long ptr)
 @ cdecl _ismbcprint(long)
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index 021d9b2..c013492 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -483,7 +483,7 @@
 @ stub _ismbcl2(long)
 @ stub _ismbcl2_l
 @ cdecl _ismbclegal(long)
-@ stub _ismbclegal_l
+@ cdecl _ismbclegal_l(long ptr)
 @ stub _ismbclower(long)
 @ stub _ismbclower_l
 @ cdecl _ismbcprint(long)




More information about the wine-cvs mailing list