Only in fontconfig-2.1.working/src: .fcstr.c.swp diff -ru fontconfig-2.1.pristine/src/fcstr.c fontconfig-2.1.working/src/fcstr.c --- fontconfig-2.1.pristine/src/fcstr.c 2002-08-31 17:17:32.000000000 -0500 +++ fontconfig-2.1.working/src/fcstr.c 2003-01-10 23:09:53.000000000 -0600 @@ -72,11 +72,11 @@ { c1 = *s1++; c2 = *s2++; - if (!c1 || !c2) + + /* allows a short-circuit of the case conversions if we match regardless */ + if (c1 != c2 && FcToLower (c1) != FcToLower (c2)) break; - c1 = FcToLower (c1); - c2 = FcToLower (c2); - if (c1 != c2) + else if (!c2) // || !c1, but they are already equal to within case so no need to test both break; } return (int) c1 - (int) c2;