Commit 111637a3 authored by Daniel Lehman's avatar Daniel Lehman Committed by Alexandre Julliard

ucrtbase: Add _iswblank_l.

parent bda232de
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
@ cdecl _isupper_l(long ptr) ucrtbase._isupper_l @ cdecl _isupper_l(long ptr) ucrtbase._isupper_l
@ stub _iswalnum_l @ stub _iswalnum_l
@ cdecl _iswalpha_l(long ptr) ucrtbase._iswalpha_l @ cdecl _iswalpha_l(long ptr) ucrtbase._iswalpha_l
@ stub _iswblank_l @ cdecl _iswblank_l(long ptr) ucrtbase._iswblank_l
@ stub _iswcntrl_l @ stub _iswcntrl_l
@ stub _iswcsym_l @ stub _iswcsym_l
@ stub _iswcsymf_l @ stub _iswcsymf_l
...@@ -113,7 +113,7 @@ ...@@ -113,7 +113,7 @@
@ cdecl iswalnum(long) ucrtbase.iswalnum @ cdecl iswalnum(long) ucrtbase.iswalnum
@ cdecl iswalpha(long) ucrtbase.iswalpha @ cdecl iswalpha(long) ucrtbase.iswalpha
@ cdecl iswascii(long) ucrtbase.iswascii @ cdecl iswascii(long) ucrtbase.iswascii
@ stub iswblank @ cdecl iswblank(long) ucrtbase.iswblank
@ cdecl iswcntrl(long) ucrtbase.iswcntrl @ cdecl iswcntrl(long) ucrtbase.iswcntrl
@ cdecl iswctype(long long) ucrtbase.iswctype @ cdecl iswctype(long long) ucrtbase.iswctype
@ cdecl iswdigit(long) ucrtbase.iswdigit @ cdecl iswdigit(long) ucrtbase.iswdigit
......
...@@ -1369,7 +1369,7 @@ ...@@ -1369,7 +1369,7 @@
@ cdecl _isupper_l(long ptr) MSVCRT__isupper_l @ cdecl _isupper_l(long ptr) MSVCRT__isupper_l
@ stub _iswalnum_l @ stub _iswalnum_l
@ cdecl _iswalpha_l(long ptr) MSVCRT__iswalpha_l @ cdecl _iswalpha_l(long ptr) MSVCRT__iswalpha_l
@ stub _iswblank_l @ cdecl _iswblank_l(long ptr) MSVCRT__iswblank_l
@ stub _iswcntrl_l @ stub _iswcntrl_l
@ stub _iswcsym_l @ stub _iswcsym_l
@ stub _iswcsymf_l @ stub _iswcsymf_l
...@@ -2228,7 +2228,7 @@ ...@@ -2228,7 +2228,7 @@
@ cdecl iswalnum(long) MSVCRT_iswalnum @ cdecl iswalnum(long) MSVCRT_iswalnum
@ cdecl iswalpha(long) ntdll.iswalpha @ cdecl iswalpha(long) ntdll.iswalpha
@ cdecl iswascii(long) MSVCRT_iswascii @ cdecl iswascii(long) MSVCRT_iswascii
@ stub iswblank @ cdecl iswblank(long) MSVCRT_iswblank
@ cdecl iswcntrl(long) MSVCRT_iswcntrl @ cdecl iswcntrl(long) MSVCRT_iswcntrl
@ cdecl iswctype(long long) ntdll.iswctype @ cdecl iswctype(long long) ntdll.iswctype
@ cdecl iswdigit(long) MSVCRT_iswdigit @ cdecl iswdigit(long) MSVCRT_iswdigit
......
...@@ -1234,7 +1234,7 @@ ...@@ -1234,7 +1234,7 @@
@ cdecl _isupper_l(long ptr) msvcr120._isupper_l @ cdecl _isupper_l(long ptr) msvcr120._isupper_l
@ stub _iswalnum_l @ stub _iswalnum_l
@ cdecl _iswalpha_l(long ptr) msvcr120._iswalpha_l @ cdecl _iswalpha_l(long ptr) msvcr120._iswalpha_l
@ stub _iswblank_l @ cdecl _iswblank_l(long ptr) msvcr120._iswblank_l
@ stub _iswcntrl_l @ stub _iswcntrl_l
@ stub _iswcsym_l @ stub _iswcsym_l
@ stub _iswcsymf_l @ stub _iswcsymf_l
...@@ -1891,7 +1891,7 @@ ...@@ -1891,7 +1891,7 @@
@ cdecl iswalnum(long) msvcr120.iswalnum @ cdecl iswalnum(long) msvcr120.iswalnum
@ cdecl iswalpha(long) msvcr120.iswalpha @ cdecl iswalpha(long) msvcr120.iswalpha
@ cdecl iswascii(long) msvcr120.iswascii @ cdecl iswascii(long) msvcr120.iswascii
@ stub iswblank @ cdecl iswblank(long) msvcr120.iswblank
@ cdecl iswcntrl(long) msvcr120.iswcntrl @ cdecl iswcntrl(long) msvcr120.iswcntrl
@ cdecl iswctype(long long) msvcr120.iswctype @ cdecl iswctype(long long) msvcr120.iswctype
@ cdecl iswdigit(long) msvcr120.iswdigit @ cdecl iswdigit(long) msvcr120.iswdigit
......
...@@ -1866,6 +1866,22 @@ INT CDECL MSVCRT__iswctype_l( MSVCRT_wchar_t wc, MSVCRT_wctype_t type, MSVCRT__l ...@@ -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.@) * wcscpy_s (MSVCRT.@)
*/ */
INT CDECL MSVCRT_wcscpy_s( MSVCRT_wchar_t* wcDest, MSVCRT_size_t numElement, const MSVCRT_wchar_t *wcSrc) INT CDECL MSVCRT_wcscpy_s( MSVCRT_wchar_t* wcDest, MSVCRT_size_t numElement, const MSVCRT_wchar_t *wcSrc)
......
...@@ -90,6 +90,8 @@ static int (CDECL *p__isctype)(int,int); ...@@ -90,6 +90,8 @@ static int (CDECL *p__isctype)(int,int);
static int (CDECL *p_isblank)(int); static int (CDECL *p_isblank)(int);
static int (CDECL *p__isblank_l)(int,_locale_t); static int (CDECL *p__isblank_l)(int,_locale_t);
static int (CDECL *p__iswctype_l)(int,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) static void test__initialize_onexit_table(void)
{ {
...@@ -388,6 +390,8 @@ static BOOL init(void) ...@@ -388,6 +390,8 @@ static BOOL init(void)
p_isblank = (void*)GetProcAddress(module, "isblank"); p_isblank = (void*)GetProcAddress(module, "isblank");
p__isblank_l = (void*)GetProcAddress(module, "_isblank_l"); p__isblank_l = (void*)GetProcAddress(module, "_isblank_l");
p__iswctype_l = (void*)GetProcAddress(module, "_iswctype_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; return TRUE;
} }
...@@ -493,9 +497,13 @@ static void test_isblank(void) ...@@ -493,9 +497,13 @@ static void test_isblank(void)
todo_wine ok(!p__iswctype_l(c, _BLANK, NULL), "tab shouldn't be blank\n"); todo_wine ok(!p__iswctype_l(c, _BLANK, NULL), "tab shouldn't be blank\n");
else else
ok(p__iswctype_l(c, _BLANK, NULL), "%d should be blank\n", c); 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 { } else {
todo_wine_if(c == 0xa0) { todo_wine_if(c == 0xa0) {
ok(!p__iswctype_l(c, _BLANK, NULL), "%d shouldn't be blank\n", c); 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);
} }
} }
} }
......
...@@ -508,7 +508,7 @@ ...@@ -508,7 +508,7 @@
@ cdecl _isupper_l(long ptr) MSVCRT__isupper_l @ cdecl _isupper_l(long ptr) MSVCRT__isupper_l
@ stub _iswalnum_l @ stub _iswalnum_l
@ cdecl _iswalpha_l(long ptr) MSVCRT__iswalpha_l @ cdecl _iswalpha_l(long ptr) MSVCRT__iswalpha_l
@ stub _iswblank_l @ cdecl _iswblank_l(long ptr) MSVCRT__iswblank_l
@ stub _iswcntrl_l @ stub _iswcntrl_l
@ stub _iswcsym_l @ stub _iswcsym_l
@ stub _iswcsymf_l @ stub _iswcsymf_l
...@@ -2362,7 +2362,7 @@ ...@@ -2362,7 +2362,7 @@
@ cdecl iswalnum(long) MSVCRT_iswalnum @ cdecl iswalnum(long) MSVCRT_iswalnum
@ cdecl iswalpha(long) ntdll.iswalpha @ cdecl iswalpha(long) ntdll.iswalpha
@ cdecl iswascii(long) MSVCRT_iswascii @ cdecl iswascii(long) MSVCRT_iswascii
@ stub iswblank @ cdecl iswblank(long) MSVCRT_iswblank
@ cdecl iswcntrl(long) MSVCRT_iswcntrl @ cdecl iswcntrl(long) MSVCRT_iswcntrl
@ cdecl iswctype(long long) ntdll.iswctype @ cdecl iswctype(long long) ntdll.iswctype
@ cdecl iswdigit(long) MSVCRT_iswdigit @ cdecl iswdigit(long) MSVCRT_iswdigit
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment