1
0
forked from aniani/vim

patch 8.2.4732: duplicate code to free fuzzy matches

Problem:    Duplicate code to free fuzzy matches.
Solution:   Bring back fuzmatch_str_free().
This commit is contained in:
Bram Moolenaar
2022-04-10 18:09:06 +01:00
parent db0ea7f2b0
commit c6e0a5e98c
4 changed files with 21 additions and 11 deletions

View File

@@ -5013,6 +5013,21 @@ fuzzy_match_str(char_u *str, char_u *pat)
return score;
}
/*
* Free an array of fuzzy string matches "fuzmatch[count]".
*/
void
fuzmatch_str_free(fuzmatch_str_T *fuzmatch, int count)
{
int i;
if (fuzmatch == NULL)
return;
for (i = 0; i < count; ++i)
vim_free(fuzmatch[i].str);
vim_free(fuzmatch);
}
/*
* Copy a list of fuzzy matches into a string list after sorting the matches by
* the fuzzy score. Frees the memory allocated for 'fuzmatch'.
@@ -5033,9 +5048,7 @@ fuzzymatches_to_strmatches(
*matches = ALLOC_MULT(char_u *, count);
if (*matches == NULL)
{
for (i = 0; i < count; i++)
vim_free(fuzmatch[i].str);
vim_free(fuzmatch);
fuzmatch_str_free(fuzmatch, count);
return FAIL;
}