diff options
Diffstat (limited to 'libutils/String8.cpp')
-rw-r--r-- | libutils/String8.cpp | 42 |
1 files changed, 10 insertions, 32 deletions
diff --git a/libutils/String8.cpp b/libutils/String8.cpp index 3dc2026d9..fad130b1b 100644 --- a/libutils/String8.cpp +++ b/libutils/String8.cpp @@ -415,50 +415,28 @@ bool String8::removeAll(const char* other) { void String8::toLower() { - toLower(0, size()); -} + const size_t length = size(); + if (length == 0) return; -void String8::toLower(size_t start, size_t length) -{ - const size_t len = size(); - if (start >= len) { - return; - } - if (start+length > len) { - length = len-start; - } - char* buf = lockBuffer(len); - buf += start; - while (length > 0) { + char* buf = lockBuffer(length); + for (size_t i = length; i > 0; --i) { *buf = static_cast<char>(tolower(*buf)); buf++; - length--; } - unlockBuffer(len); + unlockBuffer(length); } void String8::toUpper() { - toUpper(0, size()); -} + const size_t length = size(); + if (length == 0) return; -void String8::toUpper(size_t start, size_t length) -{ - const size_t len = size(); - if (start >= len) { - return; - } - if (start+length > len) { - length = len-start; - } - char* buf = lockBuffer(len); - buf += start; - while (length > 0) { + char* buf = lockBuffer(length); + for (size_t i = length; i > 0; --i) { *buf = static_cast<char>(toupper(*buf)); buf++; - length--; } - unlockBuffer(len); + unlockBuffer(length); } // --------------------------------------------------------------------------- |