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