[PATCH 2/2] msvcrt: Implement _strnicoll.

Eryk Wieliczko ewdevel at gmail.com
Thu Feb 10 19:22:23 CST 2011


---
 dlls/msvcr100/msvcr100.spec |    2 +-
 dlls/msvcr70/msvcr70.spec   |    2 +-
 dlls/msvcr80/msvcr80.spec   |    2 +-
 dlls/msvcr90/msvcr90.spec   |    2 +-
 dlls/msvcrt/msvcrt.spec     |    2 +-
 dlls/msvcrt/string.c        |   16 ++++++++++++++++
 6 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 13f4d19..612f0c7 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -1148,7 +1148,7 @@
 @ stub _strncoll_l
 @ cdecl _strnicmp(str str long) msvcrt._strnicmp
 @ stub _strnicmp_l
-@ stub _strnicoll
+@ cdecl _strnicoll(str str long) msvcrt._strnicoll
 @ stub _strnicoll_l
 @ cdecl _strnset(str long long) msvcrt._strnset
 @ stub _strnset_s
diff --git a/dlls/msvcr70/msvcr70.spec b/dlls/msvcr70/msvcr70.spec
index c03b43d..8ef66d0 100644
--- a/dlls/msvcr70/msvcr70.spec
+++ b/dlls/msvcr70/msvcr70.spec
@@ -552,7 +552,7 @@
 @ cdecl _strlwr(str) msvcrt._strlwr
 @ stub _strncoll
 @ cdecl _strnicmp(str str long) msvcrt._strnicmp
-@ stub _strnicoll
+@ cdecl _strnicoll(str str long) msvcrt._strnicoll
 @ cdecl _strnset(str long long) msvcrt._strnset
 @ cdecl _strrev(str) msvcrt._strrev
 @ cdecl _strset(str long) msvcrt._strset
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index aca11e7..888bf8a 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -1002,7 +1002,7 @@
 @ stub _strncoll_l
 @ cdecl _strnicmp(str str long) msvcrt._strnicmp
 @ stub _strnicmp_l
-@ stub _strnicoll
+@ cdecl _strnicoll(str str long) msvcrt._strnicoll
 @ stub _strnicoll_l
 @ cdecl _strnset(str long long) msvcrt._strnset
 @ stub _strnset_s
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index b269b87..e5525b9 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -988,7 +988,7 @@
 @ stub _strncoll_l
 @ cdecl _strnicmp(str str long) msvcrt._strnicmp
 @ stub _strnicmp_l
-@ stub _strnicoll
+@ cdecl _strnicoll(str str long) msvcrt._strnicoll
 @ stub _strnicoll_l
 @ cdecl _strnset(str long long) msvcrt._strnset
 @ stub _strnset_s
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index f1e3259..a815bda 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -927,7 +927,7 @@
 # stub _strncoll_l
 @ cdecl _strnicmp(str str long) ntdll._strnicmp
 # stub _strnicmp_l
-@ stub _strnicoll #(str str long)
+@ cdecl _strnicoll(str str long) MSVCRT__strnicoll
 # stub _strnicoll_l
 @ cdecl _strnset(str long long) MSVCRT__strnset
 # stub _strnset_s
diff --git a/dlls/msvcrt/string.c b/dlls/msvcrt/string.c
index 031c3d0..7e6ef86 100644
--- a/dlls/msvcrt/string.c
+++ b/dlls/msvcrt/string.c
@@ -97,6 +97,22 @@ char* CDECL MSVCRT__strnset(char* str, int value, MSVCRT_size_t len)
 }
 
 /*********************************************************************
+ *		_strnicoll (MSVCRT.@)
+ */
+int CDECL MSVCRT__strnicoll(const char* str1, const char* str2, int digits)
+{
+    int res;
+
+    res = strncmp(str1, str2, digits);
+    if (res > 0)
+        res = 1;
+    else if (res < 0)
+        res = -1;
+
+    return res;
+}
+
+/*********************************************************************
  *		_strrev (MSVCRT.@)
  */
 char* CDECL _strrev(char* str)
-- 
1.7.0.4




More information about the wine-patches mailing list