changeset 34318:59d706a161a4 v9.1.0093

patch 9.1.0093: Still a qsort() comparison function that returns result of subtraction Commit: https://github.com/vim/vim/commit/77078276bfe695070441a1bbdc02949d31de8922 Author: zeertzjq <zeertzjq@outlook.com> Date: Sat Feb 10 13:24:03 2024 +0100 patch 9.1.0093: Still a qsort() comparison function that returns result of subtraction Problem: Still a qsort() comparison function fuzzy_match_item_compare() that returns result of subtraction (after 9.1.0089). Solution: Use an explicit comparison instead of subtraction. (zeertzjq) closes: #14004 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sat, 10 Feb 2024 13:30:04 +0100
parents c3754d739059
children 68fa6b277859
files src/search.c src/version.c
diffstat 2 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/search.c
+++ b/src/search.c
@@ -4561,7 +4561,10 @@ fuzzy_match_item_compare(const void *s1,
     int		idx1 = ((fuzzyItem_T *)s1)->idx;
     int		idx2 = ((fuzzyItem_T *)s2)->idx;
 
-    return v1 == v2 ? (idx1 - idx2) : v1 > v2 ? -1 : 1;
+    if (v1 == v2)
+	return idx1 == idx2 ? 0 : idx1 > idx2 ? 1 : -1;
+    else
+	return v1 > v2 ? -1 : 1;
 }
 
 /*
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    93,
+/**/
     92,
 /**/
     91,