From d6c7ef2346d60ad934231d6b4bf6d342b278a0d4 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Tue, 21 Jul 2009 09:05:43 +0000 Subject: Using a much simpler property set implementation. Accessor objects use the PropertyGet interface to access just the property set methods they need. Removed SString. --- src/CharClassify.cxx | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src/CharClassify.cxx') diff --git a/src/CharClassify.cxx b/src/CharClassify.cxx index acab4b229..42a0ff10e 100644 --- a/src/CharClassify.cxx +++ b/src/CharClassify.cxx @@ -41,3 +41,37 @@ void CharClassify::SetCharClasses(const unsigned char *chars, cc newCharClass) { } } } + +int CompareCaseInsensitive(const char *a, const char *b) { + while (*a && *b) { + if (*a != *b) { + char upperA = MakeUpperCase(*a); + char upperB = MakeUpperCase(*b); + if (upperA != upperB) + return upperA - upperB; + } + a++; + b++; + } + // Either *a or *b is nul + return *a - *b; +} + +int CompareNCaseInsensitive(const char *a, const char *b, size_t len) { + while (*a && *b && len) { + if (*a != *b) { + char upperA = MakeUpperCase(*a); + char upperB = MakeUpperCase(*b); + if (upperA != upperB) + return upperA - upperB; + } + a++; + b++; + len--; + } + if (len == 0) + return 0; + else + // Either *a or *b is nul + return *a - *b; +} -- cgit v1.2.3