aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/CharClassify.cxx
diff options
context:
space:
mode:
authornyamatongwe <devnull@localhost>2009-07-21 09:05:43 +0000
committernyamatongwe <devnull@localhost>2009-07-21 09:05:43 +0000
commitd6c7ef2346d60ad934231d6b4bf6d342b278a0d4 (patch)
tree6039e12ca6c8f447ca34fbe3c3b0195d4c3a2372 /src/CharClassify.cxx
parent276e578482a2c83e16ac51d06058afa4213fccbc (diff)
downloadscintilla-mirror-d6c7ef2346d60ad934231d6b4bf6d342b278a0d4.tar.gz
Using a much simpler property set implementation.
Accessor objects use the PropertyGet interface to access just the property set methods they need. Removed SString.
Diffstat (limited to 'src/CharClassify.cxx')
-rw-r--r--src/CharClassify.cxx34
1 files changed, 34 insertions, 0 deletions
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;
+}