neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit f3982ad3f3bc866c9369edfbd4125aaa092215a9
parent 5bbb733a1b16b0c9d2303c1464bf66ee434450ac
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Sat, 10 Feb 2024 21:31:44 +0800

vim-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: vim/vim#14004

https://github.com/vim/vim/commit/77078276bfe695070441a1bbdc02949d31de8922

Diffstat:
Msrc/nvim/search.c | 6+++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/nvim/search.c b/src/nvim/search.c @@ -3197,7 +3197,11 @@ static int fuzzy_match_item_compare(const void *const s1, const void *const s2) const int idx1 = ((const fuzzyItem_T *)s1)->idx; const int idx2 = ((const 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; + } } /// Fuzzy search the string "str" in a list of "items" and return the matching