From aa80a00642039403ad21462541765d520645471f Mon Sep 17 00:00:00 2001 From: "Hoa V. DINH" Date: Mon, 8 Feb 2016 00:06:24 -0800 Subject: Optimization --- src/core/basetypes/MCString.cpp | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/core/basetypes/MCString.cpp b/src/core/basetypes/MCString.cpp index 9c024067..6a10b13c 100644 --- a/src/core/basetypes/MCString.cpp +++ b/src/core/basetypes/MCString.cpp @@ -8,7 +8,9 @@ #include #include -#if !DISABLE_ICU +#if DISABLE_ICU +#include +#else #include #include #include @@ -55,7 +57,7 @@ static String * s_unicode160 = NULL; static String * s_unicode133 = NULL; static String * s_unicode2028 = NULL; -#if DISABLE_ICU +#if DISABLE_ICU && 0 static int32_t u_strlen(const UChar *s) { if (s == NULL) { return 0; @@ -1221,12 +1223,17 @@ int String::compareWithCaseSensitive(String * otherString, bool caseSensitive) } #if DISABLE_ICU - CFStringRef cfThis = CFStringCreateWithCharactersNoCopy(NULL, mUnicodeChars, mLength, kCFAllocatorNull); - CFStringRef cfOther = CFStringCreateWithCharactersNoCopy(NULL, otherString->mUnicodeChars, otherString->mLength, kCFAllocatorNull); - CFComparisonResult result = CFStringCompare(cfThis, cfOther, caseSensitive ? 0 : kCFCompareCaseInsensitive); - CFRelease(cfThis); - CFRelease(cfOther); - return result; + if (caseSensitive) { + return u_strcmp(unicodeCharacters(), otherString->unicodeCharacters()); + } + else { + CFStringRef cfThis = CFStringCreateWithCharactersNoCopy(NULL, mUnicodeChars, mLength, kCFAllocatorNull); + CFStringRef cfOther = CFStringCreateWithCharactersNoCopy(NULL, otherString->mUnicodeChars, otherString->mLength, kCFAllocatorNull); + CFComparisonResult result = CFStringCompare(cfThis, cfOther, kCFCompareCaseInsensitive); + CFRelease(cfThis); + CFRelease(cfOther); + return result; + } #else if (caseSensitive) { return u_strcmp(unicodeCharacters(), otherString->unicodeCharacters()); -- cgit v1.2.3