patch 9.1.1184: Unnecessary use of vim_tolower() in vim_strnicmp_asc()
Problem: Unnecessary use of vim_tolower() in vim_strnicmp_asc().
Solution: Use TOLOWER_ASC() instead (zeertzjq).
It was passing *s1 and *s2 to vim_tolower(). When char is signed, which
is the case on most platforms, c < 0x80 is always true, so it already
behaves the same as TOLOWER_ASC().
closes: #16826
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/strings.c b/src/strings.c
index 9e39c45..640ad39 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -598,12 +598,10 @@
vim_strnicmp_asc(char *s1, char *s2, size_t len)
{
int i = 0;
- int save_cmp_flags = cmp_flags;
- cmp_flags |= CMP_KEEPASCII; // compare by ASCII value, ignoring locale
while (len > 0)
{
- i = vim_tolower(*s1) - vim_tolower(*s2);
+ i = TOLOWER_ASC(*s1) - TOLOWER_ASC(*s2);
if (i != 0)
break; // this character is different
if (*s1 == NUL)
@@ -612,7 +610,6 @@
++s2;
--len;
}
- cmp_flags = save_cmp_flags;
return i;
}
diff --git a/src/version.c b/src/version.c
index 2e6ae1f..8223d0c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1184,
+/**/
1183,
/**/
1182,