Commit: patch 9.1.0093: Still a qsort() comparison function that returns result of subtraction

4 views
Skip to first unread message

Christian Brabandt

unread,
Feb 10, 2024, 7:30:09 AM2/10/24
to vim...@googlegroups.com
patch 9.1.0093: Still a qsort() comparison function that returns result of subtraction

Commit: https://github.com/vim/vim/commit/77078276bfe695070441a1bbdc02949d31de8922
Author: zeertzjq <zeer...@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 <zeer...@outlook.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/search.c b/src/search.c
index eadbcd3d9..1d0542b65 100644
--- a/src/search.c
+++ b/src/search.c
@@ -4561,7 +4561,10 @@ fuzzy_match_item_compare(const void *s1, const void *s2)
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;
}

/*
diff --git a/src/version.c b/src/version.c
index 86ed8b708..685f8b0df 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 93,
/**/
92,
/**/
Reply all
Reply to author
Forward
0 new messages