diff --git a/src/Utils/String.cpp b/src/Utils/String.cpp index 0e2da5f8..96605bc6 100644 --- a/src/Utils/String.cpp +++ b/src/Utils/String.cpp @@ -88,17 +88,23 @@ namespace Utils return (haystack.size() >= needle.size() && !strncmp(needle.data(), haystack.data(), needle.size())); } + int IsSpace(int c) + { + if (c < -1) return 0; + return _isspace_l(c, nullptr); + } + // trim from start std::string <rim(std::string &s) { - s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun(std::isspace)))); + s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun(IsSpace)))); return s; } // trim from end std::string &RTrim(std::string &s) { - s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun(std::isspace))).base(), s.end()); + s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun(IsSpace))).base(), s.end()); return s; } diff --git a/src/Utils/String.hpp b/src/Utils/String.hpp index 33312035..2cba4caf 100644 --- a/src/Utils/String.hpp +++ b/src/Utils/String.hpp @@ -24,6 +24,7 @@ namespace Utils return buffer; } + int IsSpace(int c); std::string ToLower(std::string input); std::string ToUpper(std::string input); bool EndsWith(std::string haystack, std::string needle);