aboutsummaryrefslogtreecommitdiff
path: root/src/util/strencodings.cpp
diff options
context:
space:
mode:
authorPieter Wuille <pieter@wuille.net>2022-04-04 11:20:10 -0400
committerMacroFake <falke.marco@gmail.com>2022-04-27 14:12:55 +0200
commit963bc9b576f0a62caffede2ce32830aef3473995 (patch)
tree3308682301b66cd72aa3adec33558652ff50bace /src/util/strencodings.cpp
parent40062997f223d88d4f92aaae4622a31476686163 (diff)
downloadbitcoin-963bc9b576f0a62caffede2ce32830aef3473995.tar.xz
Make IsHexNumber use string_view
Diffstat (limited to 'src/util/strencodings.cpp')
-rw-r--r--src/util/strencodings.cpp11
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)