diff options
Diffstat (limited to 'src/lib/util/corestr.cpp')
-rw-r--r-- | src/lib/util/corestr.cpp | 29 |
1 files changed, 3 insertions, 26 deletions
diff --git a/src/lib/util/corestr.cpp b/src/lib/util/corestr.cpp index aff55470b13..90009411c9c 100644 --- a/src/lib/util/corestr.cpp +++ b/src/lib/util/corestr.cpp @@ -146,38 +146,15 @@ void strreplacechr(std::string& str, char ch, char newch) } } -static std::string_view internal_strtrimspace(std::string_view str, bool right_only) -{ - // identify the start - std::string_view::iterator start = str.begin(); - if (!right_only) - { - start = std::find_if( - str.begin(), - str.end(), - [](char c) { return !isspace(uint8_t(c)); }); - } - - // identify the end - std::string_view::iterator end = std::find_if( - str.rbegin(), - std::string_view::reverse_iterator(start), - [](char c) { return !isspace(uint8_t(c)); }).base(); - - // extract the string - return end > start - ? str.substr(start - str.begin(), end - start) - : std::string_view(); -} - std::string_view strtrimspace(std::string_view str) { - return internal_strtrimspace(str, false); + std::string_view str2 = strtrimleft(str, [](char c) { return !isspace(uint8_t(c)); }); + return strtrimright(str2, [](char c) { return !isspace(uint8_t(c)); }); } std::string_view strtrimrightspace(std::string_view str) { - return internal_strtrimspace(str, true); + return strtrimright(str, [](char c) { return !isspace(uint8_t(c)); }); } std::string strmakeupper(std::string_view str) |