From 4b906c1e5fa3f17e509abcd0890477328cf1cfa2 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Thu, 14 Aug 2014 21:33:24 -0400 Subject: [PATCH] Short circuit case-insensitive compare of two equal Unicode codepoints. --- src/physfs_unicode.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/physfs_unicode.c b/src/physfs_unicode.c index 64cff474..eb7d89bb 100644 --- a/src/physfs_unicode.c +++ b/src/physfs_unicode.c @@ -447,6 +447,10 @@ static void locate_case_fold_mapping(const PHYSFS_uint32 from, static int utf8codepointcmp(const PHYSFS_uint32 cp1, const PHYSFS_uint32 cp2) { PHYSFS_uint32 folded1[3], folded2[3]; + + if (cp1 == cp2) + return 0; /* obviously matches. */ + locate_case_fold_mapping(cp1, folded1); locate_case_fold_mapping(cp2, folded2);