From 77fe328c9a8d1ddda2b4bee69d1110ba85d7b9b4 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Wed, 6 Feb 2002 22:14:26 +0000 Subject: Changed case insensitive comparison functions to always compare non-alpha characters against upper case characters to ensure consistent sorting and searching. --- src/PropSet.cxx | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/src/PropSet.cxx b/src/PropSet.cxx index 45a1c702e..ba938947f 100644 --- a/src/PropSet.cxx +++ b/src/PropSet.cxx @@ -33,14 +33,10 @@ static inline bool IsLetter(char ch) { int CompareCaseInsensitive(const char *a, const char *b) { while (*a && *b) { if (*a != *b) { - if (IsLetter(*a) && IsLetter(*b)) { - char upperA = MakeUpperCase(*a); - char upperB = MakeUpperCase(*b); - if (upperA != upperB) - return upperA - upperB; - } else { - return *a - *b; - } + char upperA = MakeUpperCase(*a); + char upperB = MakeUpperCase(*b); + if (upperA != upperB) + return upperA - upperB; } a++; b++; @@ -52,14 +48,10 @@ int CompareCaseInsensitive(const char *a, const char *b) { int CompareNCaseInsensitive(const char *a, const char *b, int len) { while (*a && *b && len) { if (*a != *b) { - if (IsLetter(*a) && IsLetter(*b)) { - char upperA = MakeUpperCase(*a); - char upperB = MakeUpperCase(*b); - if (upperA != upperB) - return upperA - upperB; - } else { - return *a - *b; - } + char upperA = MakeUpperCase(*a); + char upperB = MakeUpperCase(*b); + if (upperA != upperB) + return upperA - upperB; } a++; b++; -- cgit v1.2.3