mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-19 04:32:19 +00:00
Add version of StringsEqualNoCase that takes two null-terminated C-strings and compares up to 'len' characters. I tend to screw up string comparison functions, so anyone who is interested please review this\!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65236 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b5bd026a75
commit
07bf7efa0a
@ -159,6 +159,25 @@ static inline bool StringsEqualNoCase(const std::string &LHS,
|
||||
}
|
||||
return RHS[LHS.size()] == 0; // Not too long?
|
||||
}
|
||||
|
||||
/// StringsEqualNoCase - Return true if the two null-terminated C strings are
|
||||
/// equal, ignoring
|
||||
|
||||
static inline bool StringsEqualNoCase(const char *LHS, const char *RHS,
|
||||
unsigned len) {
|
||||
|
||||
for (unsigned i = 0; i < len; ++i) {
|
||||
if (tolower(LHS[i]) != tolower(RHS[i]))
|
||||
return false;
|
||||
|
||||
// If RHS[i] == 0 then LHS[i] == 0 or otherwise we would have returned
|
||||
// at the previous branch as tolower('\0') == '\0'.
|
||||
if (RHS[i] == 0)
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// CStrInCStrNoCase - Portable version of strcasestr. Locates the first
|
||||
/// occurance of c-string 's2' in string 's1', ignoring case. Returns
|
||||
|
Loading…
x
Reference in New Issue
Block a user