diff options
author | Pieter Wuille <pieter@wuille.net> | 2022-04-04 11:20:10 -0400 |
---|---|---|
committer | MacroFake <falke.marco@gmail.com> | 2022-04-27 14:12:55 +0200 |
commit | 963bc9b576f0a62caffede2ce32830aef3473995 (patch) | |
tree | 3308682301b66cd72aa3adec33558652ff50bace /src/util/strencodings.cpp | |
parent | 40062997f223d88d4f92aaae4622a31476686163 (diff) | |
download | bitcoin-963bc9b576f0a62caffede2ce32830aef3473995.tar.xz |
Make IsHexNumber use string_view
Diffstat (limited to 'src/util/strencodings.cpp')
-rw-r--r-- | src/util/strencodings.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/util/strencodings.cpp b/src/util/strencodings.cpp index 7e7e7e2003..9a6883228f 100644 --- a/src/util/strencodings.cpp +++ b/src/util/strencodings.cpp @@ -66,17 +66,14 @@ bool IsHex(std::string_view str) return (str.size() > 0) && (str.size()%2 == 0); } -bool IsHexNumber(const std::string& str) +bool IsHexNumber(std::string_view str) { - size_t starting_location = 0; - if (str.size() > 2 && *str.begin() == '0' && *(str.begin()+1) == 'x') { - starting_location = 2; - } - for (const char c : str.substr(starting_location)) { + if (str.substr(0, 2) == "0x") str.remove_prefix(2); + for (char c : str) { if (HexDigit(c) < 0) return false; } // Return false for empty string or "0x". - return (str.size() > starting_location); + return str.size() > 0; } std::vector<unsigned char> ParseHex(std::string_view str) |