Commit 5af20ef1 authored by Jactry Zeng's avatar Jactry Zeng Committed by Alexandre Julliard

msvcrt: Added _wcsnicoll_l implementation.

parent d2763e43
...@@ -1495,7 +1495,7 @@ ...@@ -1495,7 +1495,7 @@
@ cdecl _wcsnicmp(wstr wstr long) msvcrt._wcsnicmp @ cdecl _wcsnicmp(wstr wstr long) msvcrt._wcsnicmp
@ stub _wcsnicmp_l @ stub _wcsnicmp_l
@ cdecl _wcsnicoll(wstr wstr long) msvcrt._wcsnicoll @ cdecl _wcsnicoll(wstr wstr long) msvcrt._wcsnicoll
@ stub _wcsnicoll_l @ cdecl _wcsnicoll_l(wstr wstr long ptr) msvcrt._wcsnicoll_l
@ cdecl _wcsnset(wstr long long) msvcrt._wcsnset @ cdecl _wcsnset(wstr long long) msvcrt._wcsnset
@ stub _wcsnset_s @ stub _wcsnset_s
@ cdecl _wcsrev(wstr) msvcrt._wcsrev @ cdecl _wcsrev(wstr) msvcrt._wcsrev
......
...@@ -1858,7 +1858,7 @@ ...@@ -1858,7 +1858,7 @@
@ cdecl _wcsnicmp(wstr wstr long) msvcrt._wcsnicmp @ cdecl _wcsnicmp(wstr wstr long) msvcrt._wcsnicmp
@ stub _wcsnicmp_l @ stub _wcsnicmp_l
@ cdecl _wcsnicoll(wstr wstr long) msvcrt._wcsnicoll @ cdecl _wcsnicoll(wstr wstr long) msvcrt._wcsnicoll
@ stub _wcsnicoll_l @ cdecl _wcsnicoll_l(wstr wstr long ptr) msvcrt._wcsnicoll_l
@ cdecl _wcsnset(wstr long long) msvcrt._wcsnset @ cdecl _wcsnset(wstr long long) msvcrt._wcsnset
@ stub _wcsnset_s @ stub _wcsnset_s
@ cdecl _wcsrev(wstr) msvcrt._wcsrev @ cdecl _wcsrev(wstr) msvcrt._wcsrev
......
...@@ -1155,7 +1155,7 @@ ...@@ -1155,7 +1155,7 @@
@ cdecl _wcsnicmp(wstr wstr long) msvcrt._wcsnicmp @ cdecl _wcsnicmp(wstr wstr long) msvcrt._wcsnicmp
@ stub _wcsnicmp_l @ stub _wcsnicmp_l
@ cdecl _wcsnicoll(wstr wstr long) msvcrt._wcsnicoll @ cdecl _wcsnicoll(wstr wstr long) msvcrt._wcsnicoll
@ stub _wcsnicoll_l @ cdecl _wcsnicoll_l(wstr wstr long ptr) msvcrt._wcsnicoll_l
@ cdecl _wcsnset(wstr long long) msvcrt._wcsnset @ cdecl _wcsnset(wstr long long) msvcrt._wcsnset
@ stub _wcsnset_s @ stub _wcsnset_s
@ cdecl _wcsrev(wstr) msvcrt._wcsrev @ cdecl _wcsrev(wstr) msvcrt._wcsrev
......
...@@ -1149,7 +1149,7 @@ ...@@ -1149,7 +1149,7 @@
@ cdecl _wcsnicmp(wstr wstr long) msvcrt._wcsnicmp @ cdecl _wcsnicmp(wstr wstr long) msvcrt._wcsnicmp
@ stub _wcsnicmp_l @ stub _wcsnicmp_l
@ cdecl _wcsnicoll(wstr wstr long) msvcrt._wcsnicoll @ cdecl _wcsnicoll(wstr wstr long) msvcrt._wcsnicoll
@ stub _wcsnicoll_l @ cdecl _wcsnicoll_l(wstr wstr long ptr) msvcrt._wcsnicoll_l
@ cdecl _wcsnset(wstr long long) msvcrt._wcsnset @ cdecl _wcsnset(wstr long long) msvcrt._wcsnset
@ stub _wcsnset_s @ stub _wcsnset_s
@ cdecl _wcsrev(wstr) msvcrt._wcsrev @ cdecl _wcsrev(wstr) msvcrt._wcsrev
......
...@@ -1114,7 +1114,7 @@ ...@@ -1114,7 +1114,7 @@
@ cdecl _wcsnicmp(wstr wstr long) ntdll._wcsnicmp @ cdecl _wcsnicmp(wstr wstr long) ntdll._wcsnicmp
# stub _wcsnicmp_l(wstr wstr long ptr) # stub _wcsnicmp_l(wstr wstr long ptr)
@ cdecl _wcsnicoll(wstr wstr long) MSVCRT__wcsnicoll @ cdecl _wcsnicoll(wstr wstr long) MSVCRT__wcsnicoll
# stub _wcsnicoll_l(wstr wstr long ptr) @ cdecl _wcsnicoll_l(wstr wstr long ptr) MSVCRT__wcsnicoll_l
@ cdecl _wcsnset(wstr long long) MSVCRT__wcsnset @ cdecl _wcsnset(wstr long long) MSVCRT__wcsnset
# stub _wcsnset_s(wstr long long) # stub _wcsnset_s(wstr long long)
@ cdecl _wcsrev(wstr) MSVCRT__wcsrev @ cdecl _wcsrev(wstr) MSVCRT__wcsrev
......
...@@ -102,12 +102,28 @@ INT CDECL MSVCRT__wcsicoll( const MSVCRT_wchar_t* str1, const MSVCRT_wchar_t* st ...@@ -102,12 +102,28 @@ INT CDECL MSVCRT__wcsicoll( const MSVCRT_wchar_t* str1, const MSVCRT_wchar_t* st
} }
/********************************************************************* /*********************************************************************
* _wcsnicoll_l (MSVCRT.@)
*/
int CDECL MSVCRT__wcsnicoll_l(const MSVCRT_wchar_t* str1, const MSVCRT_wchar_t* str2,
MSVCRT_size_t count, MSVCRT__locale_t locale)
{
MSVCRT_pthreadlocinfo locinfo;
if(!locale)
locinfo = get_locinfo();
else
locinfo = locale->locinfo;
return CompareStringW(locinfo->lc_handle[MSVCRT_LC_COLLATE], NORM_IGNORECASE,
str1, count, str2, count)-CSTR_EQUAL;
}
/*********************************************************************
* _wcsnicoll (MSVCRT.@) * _wcsnicoll (MSVCRT.@)
*/ */
INT CDECL MSVCRT__wcsnicoll( const MSVCRT_wchar_t* str1, const MSVCRT_wchar_t* str2, MSVCRT_size_t count ) INT CDECL MSVCRT__wcsnicoll( const MSVCRT_wchar_t* str1, const MSVCRT_wchar_t* str2, MSVCRT_size_t count )
{ {
return CompareStringW(get_locinfo()->lc_handle[MSVCRT_LC_COLLATE], return MSVCRT__wcsnicoll_l(str1, str2, count, NULL);
NORM_IGNORECASE, str1, count, str2, count)-CSTR_EQUAL;
} }
/********************************************************************* /*********************************************************************
......
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