Piotr Caban : msvcrt: Added _strncoll_l implementation.

Alexandre Julliard julliard at winehq.org
Thu May 12 13:57:49 CDT 2011


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Thu May 12 11:39:31 2011 +0200

msvcrt: Added _strncoll_l implementation.

---

 dlls/msvcrt/msvcrt.spec |    4 ++--
 dlls/msvcrt/string.c    |   19 +++++++++++++++++++
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 958c6cb..e7294a5 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -934,8 +934,8 @@
 @ cdecl _strlwr_l(str ptr)
 @ cdecl _strlwr_s(ptr long)
 @ cdecl _strlwr_s_l(ptr long ptr)
-@ stub _strncoll(str str long)
-# stub _strncoll_l(str str long ptr)
+@ cdecl _strncoll(str str long) MSVCRT_strncoll_l
+@ cdecl _strncoll_l(str str long ptr) MSVCRT_strncoll
 @ cdecl _strnicmp(str str long) ntdll._strnicmp
 # stub _strnicmp_l(str str long ptr)
 @ stub _strnicoll(str str long)
diff --git a/dlls/msvcrt/string.c b/dlls/msvcrt/string.c
index 1e7e890..b6fe68b 100644
--- a/dlls/msvcrt/string.c
+++ b/dlls/msvcrt/string.c
@@ -567,6 +567,25 @@ int CDECL MSVCRT__stricoll( const char* str1, const char* str2 )
 }
 
 /*********************************************************************
+ *              _strncoll_l (MSVCRT.@)
+ */
+int CDECL MSVCRT_strncoll_l( const char* str1, const char* str2, MSVCRT_size_t count, MSVCRT__locale_t locale )
+{
+    if(!locale)
+        locale = get_locale();
+
+    return CompareStringA(locale->locinfo->lc_handle[MSVCRT_LC_CTYPE], 0, str1, count, str2, count)-2;
+}
+
+/*********************************************************************
+ *              strncoll (MSVCRT.@)
+ */
+int CDECL MSVCRT_strncoll( const char* str1, const char* str2, MSVCRT_size_t count )
+{
+    return MSVCRT_strncoll_l(str1, str2, count, NULL);
+}
+
+/*********************************************************************
  *      strcpy_s (MSVCRT.@)
  */
 int CDECL MSVCRT_strcpy_s( char* dst, MSVCRT_size_t elem, const char* src )




More information about the wine-cvs mailing list