Piotr Caban : msvcrt: Add _ismbcgraph_l implementation.

Alexandre Julliard julliard at winehq.org
Thu Jul 16 19:01:22 CDT 2020


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Thu Jul 16 15:33:03 2020 +0200

msvcrt: Add _ismbcgraph_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 +-
 .../api-ms-win-crt-private-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                                            | 11 +++++++++--
 dlls/msvcrt/msvcrt.h                                          |  1 +
 dlls/msvcrt/msvcrt.spec                                       |  2 +-
 dlls/ucrtbase/ucrtbase.spec                                   |  4 ++--
 11 files changed, 20 insertions(+), 12 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 06467a76d2..0137c7e649 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
@@ -33,7 +33,7 @@
 @ cdecl _ismbcdigit(long) ucrtbase._ismbcdigit
 @ cdecl _ismbcdigit_l(long ptr) ucrtbase._ismbcdigit_l
 @ cdecl _ismbcgraph(long) ucrtbase._ismbcgraph
-@ stub _ismbcgraph_l
+@ cdecl _ismbcgraph_l(long ptr) ucrtbase._ismbcgraph_l
 @ cdecl _ismbchira(long) ucrtbase._ismbchira
 @ stub _ismbchira_l
 @ cdecl _ismbckata(long) ucrtbase._ismbckata
diff --git a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
index 90ae182635..6ddcbe2c7a 100644
--- a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
@@ -406,7 +406,7 @@
 @ cdecl _o__ismbcdigit(long) ucrtbase._o__ismbcdigit
 @ cdecl _o__ismbcdigit_l(long ptr) ucrtbase._o__ismbcdigit_l
 @ cdecl _o__ismbcgraph(long) ucrtbase._o__ismbcgraph
-@ stub _o__ismbcgraph_l
+@ cdecl _o__ismbcgraph_l(long ptr) ucrtbase._o__ismbcgraph_l
 @ cdecl _o__ismbchira(long) ucrtbase._o__ismbchira
 @ stub _o__ismbchira_l
 @ cdecl _o__ismbckata(long) ucrtbase._o__ismbckata
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 6a0a54aee2..9d78aa042f 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -981,7 +981,7 @@
 @ cdecl _ismbcdigit(long)
 @ cdecl _ismbcdigit_l(long ptr)
 @ cdecl _ismbcgraph(long)
-@ stub _ismbcgraph_l
+@ cdecl _ismbcgraph_l(long ptr)
 @ cdecl _ismbchira(long)
 @ stub _ismbchira_l
 @ cdecl _ismbckata(long)
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index a2e63aab46..1512804543 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -1327,7 +1327,7 @@
 @ cdecl _ismbcdigit(long)
 @ cdecl _ismbcdigit_l(long ptr)
 @ cdecl _ismbcgraph(long)
-@ stub _ismbcgraph_l
+@ cdecl _ismbcgraph_l(long ptr)
 @ cdecl _ismbchira(long)
 @ stub _ismbchira_l
 @ cdecl _ismbckata(long)
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 073741e76f..d8be0af00d 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -1332,7 +1332,7 @@
 @ cdecl _ismbcdigit(long)
 @ cdecl _ismbcdigit_l(long ptr)
 @ cdecl _ismbcgraph(long)
-@ stub _ismbcgraph_l
+@ cdecl _ismbcgraph_l(long ptr)
 @ cdecl _ismbchira(long)
 @ stub _ismbchira_l
 @ cdecl _ismbckata(long)
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index 5280a38b87..513ed375e1 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -653,7 +653,7 @@
 @ cdecl _ismbcdigit(long)
 @ cdecl _ismbcdigit_l(long ptr)
 @ cdecl _ismbcgraph(long)
-@ stub _ismbcgraph_l
+@ cdecl _ismbcgraph_l(long ptr)
 @ cdecl _ismbchira(long)
 @ stub _ismbchira_l
 @ cdecl _ismbckata(long)
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index fefcfa76b0..e39ecb900d 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -631,7 +631,7 @@
 @ cdecl _ismbcdigit(long)
 @ cdecl _ismbcdigit_l(long ptr)
 @ cdecl _ismbcgraph(long)
-@ stub _ismbcgraph_l
+@ cdecl _ismbcgraph_l(long ptr)
 @ cdecl _ismbchira(long)
 @ stub _ismbchira_l
 @ cdecl _ismbckata(long)
diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c
index c6caab19f8..813092a12f 100644
--- a/dlls/msvcrt/mbcs.c
+++ b/dlls/msvcrt/mbcs.c
@@ -1443,13 +1443,20 @@ int CDECL _ismbcdigit(unsigned int ch)
     return _ismbcdigit_l( ch, NULL );
 }
 
+/*********************************************************************
+ *              _ismbcgraph_l(MSVCRT.@)
+ */
+int CDECL _ismbcgraph_l(unsigned int ch, MSVCRT__locale_t locale)
+{
+    return MSVCRT__iswgraph_l( msvcrt_mbc_to_wc_l(ch, locale), locale );
+}
+
 /*********************************************************************
  *              _ismbcgraph(MSVCRT.@)
  */
 int CDECL _ismbcgraph(unsigned int ch)
 {
-    MSVCRT_wchar_t wch = msvcrt_mbc_to_wc( ch );
-    return (get_char_typeW( wch ) & (C1_UPPER | C1_LOWER | C1_DIGIT | C1_PUNCT | C1_ALPHA));
+    return _ismbcgraph_l( ch, NULL );
 }
 
 /*********************************************************************
diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h
index 973b928888..ffd417be4e 100644
--- a/dlls/msvcrt/msvcrt.h
+++ b/dlls/msvcrt/msvcrt.h
@@ -1203,6 +1203,7 @@ int __cdecl MSVCRT_towlower(MSVCRT_wint_t);
 int __cdecl MSVCRT_towupper(MSVCRT_wint_t);
 int __cdecl MSVCRT__iswalnum_l(MSVCRT_wchar_t, MSVCRT__locale_t);
 int __cdecl MSVCRT__iswdigit_l(MSVCRT_wchar_t, MSVCRT__locale_t);
+int __cdecl MSVCRT__iswgraph_l(MSVCRT_wchar_t, MSVCRT__locale_t);
 
 /* Maybe one day we'll enable the invalid parameter handlers with the full set of information (msvcrXXd)
  *      #define MSVCRT_INVALID_PMT(x) MSVCRT_call_invalid_parameter_handler(x, __FUNCTION__, __FILE__, __LINE__, 0)
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 273ced9cd7..477afdd252 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -599,7 +599,7 @@
 @ cdecl _ismbcdigit(long)
 @ cdecl _ismbcdigit_l(long ptr)
 @ cdecl _ismbcgraph(long)
-# stub _ismbcgraph_l(long ptr)
+@ cdecl _ismbcgraph_l(long ptr)
 @ cdecl _ismbchira(long)
 # stub _ismbchira_l(long ptr)
 @ cdecl _ismbckata(long)
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index 9bd4832443..9d4f557c32 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -471,7 +471,7 @@
 @ cdecl _ismbcdigit(long)
 @ cdecl _ismbcdigit_l(long ptr)
 @ cdecl _ismbcgraph(long)
-@ stub _ismbcgraph_l
+@ cdecl _ismbcgraph_l(long ptr)
 @ cdecl _ismbchira(long)
 @ stub _ismbchira_l
 @ cdecl _ismbckata(long)
@@ -1070,7 +1070,7 @@
 @ cdecl _o__ismbcdigit(long) _ismbcdigit
 @ cdecl _o__ismbcdigit_l(long ptr) _ismbcdigit_l
 @ cdecl _o__ismbcgraph(long) _ismbcgraph
-@ stub _o__ismbcgraph_l
+@ cdecl _o__ismbcgraph_l(long ptr) _ismbcgraph_l
 @ cdecl _o__ismbchira(long) _ismbchira
 @ stub _o__ismbchira_l
 @ cdecl _o__ismbckata(long) _ismbckata




More information about the wine-cvs mailing list