aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/CharClassify.cxx
diff options
context:
space:
mode:
authornyamatongwe <unknown>2009-07-21 09:05:43 +0000
committernyamatongwe <unknown>2009-07-21 09:05:43 +0000
commit7b7af48a7681ab335ba2c53ffa48ab053ddf4c86 (patch)
tree6039e12ca6c8f447ca34fbe3c3b0195d4c3a2372 /src/CharClassify.cxx
parentf20e894bd45438901560b6838cea7d4639f1e5c6 (diff)
downloadscintilla-mirror-7b7af48a7681ab335ba2c53ffa48ab053ddf4c86.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;
+}