diff options
author | Pieter Wuille <pieter@wuille.net> | 2022-04-04 11:23:03 -0400 |
---|---|---|
committer | MacroFake <falke.marco@gmail.com> | 2022-04-27 14:12:55 +0200 |
commit | d648b5120b2fefa9e599898bd26f05ecf4428fac (patch) | |
tree | a0e407006547895c72a89228cc64eb6e1952a113 /src | |
parent | 963bc9b576f0a62caffede2ce32830aef3473995 (diff) |
Make SanitizeString use string_view
Diffstat (limited to 'src')
-rw-r--r-- | src/util/strencodings.cpp | 14 | ||||
-rw-r--r-- | src/util/strencodings.h | 2 |
2 files changed, 8 insertions, 8 deletions
diff --git a/src/util/strencodings.cpp b/src/util/strencodings.cpp index 9a6883228f..6346bc0811 100644 --- a/src/util/strencodings.cpp +++ b/src/util/strencodings.cpp @@ -24,15 +24,15 @@ static const std::string SAFE_CHARS[] = CHARS_ALPHA_NUM + "!*'();:@&=+$,/?#[]-_.~%", // SAFE_CHARS_URI }; -std::string SanitizeString(const std::string& str, int rule) +std::string SanitizeString(std::string_view str, int rule) { - std::string strResult; - for (std::string::size_type i = 0; i < str.size(); i++) - { - if (SAFE_CHARS[rule].find(str[i]) != std::string::npos) - strResult.push_back(str[i]); + std::string result; + for (char c : str) { + if (SAFE_CHARS[rule].find(c) != std::string::npos) { + result.push_back(c); + } } - return strResult; + return result; } const signed char p_util_hexdigit[256] = diff --git a/src/util/strencodings.h b/src/util/strencodings.h index 678f42cb06..82645c6bf0 100644 --- a/src/util/strencodings.h +++ b/src/util/strencodings.h @@ -54,7 +54,7 @@ enum class ByteUnit : uint64_t { * @param[in] rule The set of safe chars to choose (default: least restrictive) * @return A new string without unsafe chars */ -std::string SanitizeString(const std::string& str, int rule = SAFE_CHARS_DEFAULT); +std::string SanitizeString(std::string_view str, int rule = SAFE_CHARS_DEFAULT); std::vector<unsigned char> ParseHex(std::string_view str); signed char HexDigit(char c); /* Returns true if each character in str is a hex character, and has an even |