]> git.wh0rd.org - fontconfig.git/commitdiff
optimize string compares even more
authorKeith Packard <keithp@keithp.com>
Wed, 5 Mar 2003 06:09:36 +0000 (06:09 +0000)
committerKeith Packard <keithp@keithp.com>
Wed, 5 Mar 2003 06:09:36 +0000 (06:09 +0000)
src/fcstr.c

index 8072a18b5d62b987baed3dd0ba21d271712eb49e..8c13696ecb3e498f58050895cfcb91a1e576c5a1 100644 (file)
@@ -72,15 +72,8 @@ FcStrCmpIgnoreCase (const FcChar8 *s1, const FcChar8 *s2)
     {
        c1 = *s1++;
        c2 = *s2++;
-       if (!c1)
+       if (!c1 || (c1 != c2 && (c1 = FcToLower(c1)) != (c2 = FcToLower(c2))))
            break;
-       if (c1 != c2)
-       {
-           c1 = FcToLower (c1);
-           c2 = FcToLower (c2);
-           if (c1 != c2)
-               break;
-       }
     }
     return (int) c1 - (int) c2;
 }
@@ -98,11 +91,7 @@ FcStrCmpIgnoreBlanksAndCase (const FcChar8 *s1, const FcChar8 *s2)
        do
            c2 = *s2++;
        while (c2 == ' ');
-       if (!c1 || !c2)
-           break;
-       c1 = FcToLower (c1);
-       c2 = FcToLower (c2);
-       if (c1 != c2)
+       if (!c1 || (c1 != c2 && (c1 = FcToLower(c1)) != (c2 = FcToLower(c2))))
            break;
     }
     return (int) c1 - (int) c2;
@@ -119,9 +108,7 @@ FcStrCmp (const FcChar8 *s1, const FcChar8 *s2)
     {
        c1 = *s1++;
        c2 = *s2++;
-       if (!c1 || !c2)
-           break;
-       if (c1 != c2)
+       if (!c1 || c1 != c2)
            break;
     }
     return (int) c1 - (int) c2;