[KERNEL32] Sync sortkey.c with Wine Staging 1.7.55. CORE-10536
authorAmine Khaldi <amine.khaldi@reactos.org>
Fri, 27 Nov 2015 20:11:40 +0000 (20:11 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Fri, 27 Nov 2015 20:11:40 +0000 (20:11 +0000)
svn path=/trunk/; revision=70161

reactos/dll/win32/kernel32/winnls/string/sortkey.c
reactos/media/doc/README.WINE

index 3e643ec..4bf57cc 100644 (file)
@@ -225,6 +225,8 @@ static inline int compare_unicode_weights(int flags, const WCHAR *str1, int len1
         len1--;
         len2--;
     }
+    if (len1 && !*str1) len1--;
+    if (len2 && !*str2) len2--;
     return len1 - len2;
 }
 
@@ -274,6 +276,8 @@ static inline int compare_diacritic_weights(int flags, const WCHAR *str1, int le
         len1--;
         len2--;
     }
+    if (len1 && !*str1) len1--;
+    if (len2 && !*str2) len2--;
     return len1 - len2;
 }
 
@@ -323,23 +327,16 @@ static inline int compare_case_weights(int flags, const WCHAR *str1, int len1,
         len1--;
         len2--;
     }
+    if (len1 && !*str1) len1--;
+    if (len2 && !*str2) len2--;
     return len1 - len2;
 }
 
-static inline int real_length(const WCHAR *str, int len)
-{
-    while (len && !str[len - 1]) len--;
-    return len;
-}
-
 int wine_compare_string(int flags, const WCHAR *str1, int len1,
                         const WCHAR *str2, int len2)
 {
     int ret;
 
-    len1 = real_length(str1, len1);
-    len2 = real_length(str2, len2);
-
     ret = compare_unicode_weights(flags, str1, len1, str2, len2);
     if (!ret)
     {
index 5135963..5350d90 100644 (file)
@@ -278,7 +278,7 @@ kernel32 -
   reactos/dll/win32/kernel32/winnls/string/lang.c        # Synced in r52754
   reactos/dll/win32/kernel32/winnls/string/lcformat.c    # Synced to WineStaging-1.7.55
   reactos/dll/win32/kernel32/winnls/string/nls.c         # Synced in r52754
-  reactos/dll/win32/kernel32/winnls/string/sortkey.c     # Synced to WineStaging-1.7.37
+  reactos/dll/win32/kernel32/winnls/string/sortkey.c     # Synced to WineStaging-1.7.55
 
 msvcrt -
   reactos/lib/sdk/crt/except/cpp.c              # Synced at 20080528