]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.1184: Unnecessary use of vim_tolower() in vim_strnicmp_asc() v9.1.1184
authorzeertzjq <zeertzjq@outlook.com>
Sat, 8 Mar 2025 15:42:48 +0000 (16:42 +0100)
committerChristian Brabandt <cb@256bit.org>
Sat, 8 Mar 2025 15:42:48 +0000 (16:42 +0100)
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>
src/strings.c
src/version.c

index 9e39c45acbb19372b4aaae25276356254042dd8b..640ad39a8fa6ca58ca95a4b57955e2dcfa651c6f 100644 (file)
@@ -598,12 +598,10 @@ vim_strnicmp(char *s1, char *s2, size_t len)
 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 @@ vim_strnicmp_asc(char *s1, char *s2, size_t len)
        ++s2;
        --len;
     }
-    cmp_flags = save_cmp_flags;
     return i;
 }
 
index 2e6ae1f336102fc009e0801f6b2dedd3505fda3e..8223d0c2bfa8428ec8d2f2cf693c53b1b621b4c1 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1184,
 /**/
     1183,
 /**/