Daniel Lehman : ucrtbase: Add _iswblank_l.

Alexandre Julliard julliard at winehq.org
Tue Apr 4 14:54:53 CDT 2017


Module: wine
Branch: master
Commit: 111637a3c6905ccebdbbc97abbe335078348e587
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=111637a3c6905ccebdbbc97abbe335078348e587

Author: Daniel Lehman <dlehman at esri.com>
Date:   Mon Apr  3 13:25:26 2017 -0700

ucrtbase: Add _iswblank_l.

Signed-off-by: Daniel Lehman <dlehman at esri.com>
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 .../api-ms-win-crt-string-l1-1-0.spec                    |  4 ++--
 dlls/msvcr120/msvcr120.spec                              |  4 ++--
 dlls/msvcr120_app/msvcr120_app.spec                      |  4 ++--
 dlls/msvcrt/wcs.c                                        | 16 ++++++++++++++++
 dlls/ucrtbase/tests/misc.c                               |  8 ++++++++
 dlls/ucrtbase/ucrtbase.spec                              |  4 ++--
 6 files changed, 32 insertions(+), 8 deletions(-)

diff --git a/dlls/api-ms-win-crt-string-l1-1-0/api-ms-win-crt-string-l1-1-0.spec b/dlls/api-ms-win-crt-string-l1-1-0/api-ms-win-crt-string-l1-1-0.spec
index fe3ae54..0f30b05 100644
--- a/dlls/api-ms-win-crt-string-l1-1-0/api-ms-win-crt-string-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-string-l1-1-0/api-ms-win-crt-string-l1-1-0.spec
@@ -21,7 +21,7 @@
 @ cdecl _isupper_l(long ptr) ucrtbase._isupper_l
 @ stub _iswalnum_l
 @ cdecl _iswalpha_l(long ptr) ucrtbase._iswalpha_l
-@ stub _iswblank_l
+@ cdecl _iswblank_l(long ptr) ucrtbase._iswblank_l
 @ stub _iswcntrl_l
 @ stub _iswcsym_l
 @ stub _iswcsymf_l
@@ -113,7 +113,7 @@
 @ cdecl iswalnum(long) ucrtbase.iswalnum
 @ cdecl iswalpha(long) ucrtbase.iswalpha
 @ cdecl iswascii(long) ucrtbase.iswascii
-@ stub iswblank
+@ cdecl iswblank(long) ucrtbase.iswblank
 @ cdecl iswcntrl(long) ucrtbase.iswcntrl
 @ cdecl iswctype(long long) ucrtbase.iswctype
 @ cdecl iswdigit(long) ucrtbase.iswdigit
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 1701c4a..d73a603 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -1369,7 +1369,7 @@
 @ cdecl _isupper_l(long ptr) MSVCRT__isupper_l
 @ stub _iswalnum_l
 @ cdecl _iswalpha_l(long ptr) MSVCRT__iswalpha_l
-@ stub _iswblank_l
+@ cdecl _iswblank_l(long ptr) MSVCRT__iswblank_l
 @ stub _iswcntrl_l
 @ stub _iswcsym_l
 @ stub _iswcsymf_l
@@ -2228,7 +2228,7 @@
 @ cdecl iswalnum(long) MSVCRT_iswalnum
 @ cdecl iswalpha(long) ntdll.iswalpha
 @ cdecl iswascii(long) MSVCRT_iswascii
-@ stub iswblank
+@ cdecl iswblank(long) MSVCRT_iswblank
 @ cdecl iswcntrl(long) MSVCRT_iswcntrl
 @ cdecl iswctype(long long) ntdll.iswctype
 @ cdecl iswdigit(long) MSVCRT_iswdigit
diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec
index 023aa00..942d212 100644
--- a/dlls/msvcr120_app/msvcr120_app.spec
+++ b/dlls/msvcr120_app/msvcr120_app.spec
@@ -1234,7 +1234,7 @@
 @ cdecl _isupper_l(long ptr) msvcr120._isupper_l
 @ stub _iswalnum_l
 @ cdecl _iswalpha_l(long ptr) msvcr120._iswalpha_l
-@ stub _iswblank_l
+@ cdecl _iswblank_l(long ptr) msvcr120._iswblank_l
 @ stub _iswcntrl_l
 @ stub _iswcsym_l
 @ stub _iswcsymf_l
@@ -1891,7 +1891,7 @@
 @ cdecl iswalnum(long) msvcr120.iswalnum
 @ cdecl iswalpha(long) msvcr120.iswalpha
 @ cdecl iswascii(long) msvcr120.iswascii
-@ stub iswblank
+@ cdecl iswblank(long) msvcr120.iswblank
 @ cdecl iswcntrl(long) msvcr120.iswcntrl
 @ cdecl iswctype(long long) msvcr120.iswctype
 @ cdecl iswdigit(long) msvcr120.iswdigit
diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c
index 89c4152..a3429ea 100644
--- a/dlls/msvcrt/wcs.c
+++ b/dlls/msvcrt/wcs.c
@@ -1866,6 +1866,22 @@ INT CDECL MSVCRT__iswctype_l( MSVCRT_wchar_t wc, MSVCRT_wctype_t type, MSVCRT__l
 }
 
 /*********************************************************************
+ *		_iswblank_l (MSVCRT.@)
+ */
+INT CDECL MSVCRT__iswblank_l( MSVCRT_wchar_t wc, MSVCRT__locale_t locale )
+{
+    return wc == '\t' || MSVCRT__iswctype_l( wc, MSVCRT__BLANK, locale );
+}
+
+/*********************************************************************
+ *		iswblank (MSVCRT.@)
+ */
+INT CDECL MSVCRT_iswblank( MSVCRT_wchar_t wc )
+{
+    return wc == '\t' || MSVCRT__iswctype_l( wc, MSVCRT__BLANK, NULL );
+}
+
+/*********************************************************************
  *		wcscpy_s (MSVCRT.@)
  */
 INT CDECL MSVCRT_wcscpy_s( MSVCRT_wchar_t* wcDest, MSVCRT_size_t numElement, const  MSVCRT_wchar_t *wcSrc)
diff --git a/dlls/ucrtbase/tests/misc.c b/dlls/ucrtbase/tests/misc.c
index 5a1f8dc..213700f 100644
--- a/dlls/ucrtbase/tests/misc.c
+++ b/dlls/ucrtbase/tests/misc.c
@@ -90,6 +90,8 @@ static int (CDECL *p__isctype)(int,int);
 static int (CDECL *p_isblank)(int);
 static int (CDECL *p__isblank_l)(int,_locale_t);
 static int (CDECL *p__iswctype_l)(int,int,_locale_t);
+static int (CDECL *p_iswblank)(int);
+static int (CDECL *p__iswblank_l)(wint_t,_locale_t);
 
 static void test__initialize_onexit_table(void)
 {
@@ -388,6 +390,8 @@ static BOOL init(void)
     p_isblank = (void*)GetProcAddress(module, "isblank");
     p__isblank_l = (void*)GetProcAddress(module, "_isblank_l");
     p__iswctype_l = (void*)GetProcAddress(module, "_iswctype_l");
+    p_iswblank = (void*)GetProcAddress(module, "iswblank");
+    p__iswblank_l = (void*)GetProcAddress(module, "_iswblank_l");
 
     return TRUE;
 }
@@ -493,9 +497,13 @@ static void test_isblank(void)
                 todo_wine ok(!p__iswctype_l(c, _BLANK, NULL), "tab shouldn't be blank\n");
             else
                 ok(p__iswctype_l(c, _BLANK, NULL), "%d should be blank\n", c);
+            ok(p_iswblank(c), "%d should be blank\n", c);
+            ok(p__iswblank_l(c, NULL), "%d should be blank\n", c);
         } else {
             todo_wine_if(c == 0xa0) {
                 ok(!p__iswctype_l(c, _BLANK, NULL), "%d shouldn't be blank\n", c);
+                ok(!p_iswblank(c), "%d shouldn't be blank\n", c);
+                ok(!p__iswblank_l(c, NULL), "%d shouldn't be blank\n", c);
             }
         }
     }
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index 9c0b807..79ba494 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -508,7 +508,7 @@
 @ cdecl _isupper_l(long ptr) MSVCRT__isupper_l
 @ stub _iswalnum_l
 @ cdecl _iswalpha_l(long ptr) MSVCRT__iswalpha_l
-@ stub _iswblank_l
+@ cdecl _iswblank_l(long ptr) MSVCRT__iswblank_l
 @ stub _iswcntrl_l
 @ stub _iswcsym_l
 @ stub _iswcsymf_l
@@ -2362,7 +2362,7 @@
 @ cdecl iswalnum(long) MSVCRT_iswalnum
 @ cdecl iswalpha(long) ntdll.iswalpha
 @ cdecl iswascii(long) MSVCRT_iswascii
-@ stub iswblank
+@ cdecl iswblank(long) MSVCRT_iswblank
 @ cdecl iswcntrl(long) MSVCRT_iswcntrl
 @ cdecl iswctype(long long) ntdll.iswctype
 @ cdecl iswdigit(long) MSVCRT_iswdigit




More information about the wine-cvs mailing list