Jactry Zeng : msvcrt: Added _wcsicoll_l implementation.
Alexandre Julliard
julliard at winehq.org
Mon Apr 1 13:48:41 CDT 2013
Module: wine
Branch: master
Commit: d2763e43d10160eaf5e0c057e32d68d4f9289b6b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d2763e43d10160eaf5e0c057e32d68d4f9289b6b
Author: Jactry Zeng <jactry92 at gmail.com>
Date: Sat Mar 30 22:59:02 2013 +0800
msvcrt: Added _wcsicoll_l implementation.
---
dlls/msvcr100/msvcr100.spec | 2 +-
dlls/msvcr110/msvcr110.spec | 2 +-
dlls/msvcr80/msvcr80.spec | 2 +-
dlls/msvcr90/msvcr90.spec | 2 +-
dlls/msvcrt/msvcrt.spec | 2 +-
dlls/msvcrt/wcs.c | 19 +++++++++++++++++--
6 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index ab52ff7..0c363bd 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -1485,7 +1485,7 @@
@ cdecl _wcsicmp(wstr wstr) msvcrt._wcsicmp
@ stub _wcsicmp_l
@ cdecl _wcsicoll(wstr wstr) msvcrt._wcsicoll
-@ stub _wcsicoll_l
+@ cdecl _wcsicoll_l(wstr wstr ptr) msvcrt._wcsicoll_l
@ cdecl _wcslwr(wstr) msvcrt._wcslwr
@ stub _wcslwr_l
@ cdecl _wcslwr_s(wstr long) msvcrt._wcslwr_s
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index 7776dee..2d9e69e 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -1848,7 +1848,7 @@
@ cdecl _wcsicmp(wstr wstr) msvcrt._wcsicmp
@ stub _wcsicmp_l
@ cdecl _wcsicoll(wstr wstr) msvcrt._wcsicoll
-@ stub _wcsicoll_l
+@ cdecl _wcsicoll_l(wstr wstr ptr) msvcrt._wcsicoll_l
@ cdecl _wcslwr(wstr) msvcrt._wcslwr
@ stub _wcslwr_l
@ cdecl _wcslwr_s(wstr long) msvcrt._wcslwr_s
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index e635e96..0faa5f7 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -1145,7 +1145,7 @@
@ cdecl _wcsicmp(wstr wstr) msvcrt._wcsicmp
@ stub _wcsicmp_l
@ cdecl _wcsicoll(wstr wstr) msvcrt._wcsicoll
-@ stub _wcsicoll_l
+@ cdecl _wcsicoll_l(wstr wstr ptr) msvcrt._wcsicoll_l
@ cdecl _wcslwr(wstr) msvcrt._wcslwr
@ stub _wcslwr_l
@ cdecl _wcslwr_s(wstr long) msvcrt._wcslwr_s
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 9bcdccb..f7c751a 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -1139,7 +1139,7 @@
@ cdecl _wcsicmp(wstr wstr) msvcrt._wcsicmp
@ stub _wcsicmp_l
@ cdecl _wcsicoll(wstr wstr) msvcrt._wcsicoll
-@ stub _wcsicoll_l
+@ cdecl _wcsicoll_l(wstr wstr ptr) msvcrt._wcsicoll_l
@ cdecl _wcslwr(wstr) msvcrt._wcslwr
@ stub _wcslwr_l
@ cdecl _wcslwr_s(wstr long) msvcrt._wcslwr_s
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 30ac113..5193104 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -1104,7 +1104,7 @@
@ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
# stub _wcsicmp_l(wstr wstr ptr)
@ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
-# stub _wcsicoll_l(wstr wstr ptr)
+@ cdecl _wcsicoll_l(wstr wstr ptr) MSVCRT__wcsicoll_l
@ cdecl _wcslwr(wstr) ntdll._wcslwr
# stub _wcslwr_l(wstr ptr)
@ cdecl _wcslwr_s(wstr long) MSVCRT__wcslwr_s
diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c
index 9d45a24..776ef20 100644
--- a/dlls/msvcrt/wcs.c
+++ b/dlls/msvcrt/wcs.c
@@ -78,12 +78,27 @@ INT CDECL MSVCRT__wcsicmp( const MSVCRT_wchar_t* str1, const MSVCRT_wchar_t* str
}
/*********************************************************************
+ * _wcsicoll_l (MSVCRT.@)
+ */
+int CDECL MSVCRT__wcsicoll_l(const MSVCRT_wchar_t* str1, const MSVCRT_wchar_t* str2, 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, -1, str2, -1)-CSTR_EQUAL;
+}
+
+/*********************************************************************
* _wcsicoll (MSVCRT.@)
*/
INT CDECL MSVCRT__wcsicoll( const MSVCRT_wchar_t* str1, const MSVCRT_wchar_t* str2 )
{
- return CompareStringW(get_locinfo()->lc_handle[MSVCRT_LC_COLLATE],
- NORM_IGNORECASE, str1, -1, str2, -1)-CSTR_EQUAL;
+ return MSVCRT__wcsicoll_l(str1, str2, NULL);
}
/*********************************************************************
More information about the wine-cvs
mailing list