diff options
author | Jaquee <jaquee.monero@gmail.com> | 2017-08-04 19:06:11 +0200 |
---|---|---|
committer | Jaquee <jaquee.monero@gmail.com> | 2017-10-15 17:32:13 +0200 |
commit | a13540be6f3ff37a696fbbf05aba98bd6e2d1a84 (patch) | |
tree | c5e1e38d59af2103315c55ebc8185fd45a28bd8b /contrib/epee/include/string_tools.h | |
parent | refactor cryptonote_basic::add_tx_pub_key_to_extra (diff) | |
download | monero-a13540be6f3ff37a696fbbf05aba98bd6e2d1a84.tar.xz |
add string_tools::validate_hex()
Diffstat (limited to 'contrib/epee/include/string_tools.h')
-rw-r--r-- | contrib/epee/include/string_tools.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/contrib/epee/include/string_tools.h b/contrib/epee/include/string_tools.h index ce7b2fb87..25639263c 100644 --- a/contrib/epee/include/string_tools.h +++ b/contrib/epee/include/string_tools.h @@ -39,6 +39,7 @@ #include <cstdlib> #include <string> #include <type_traits> +#include <regex> #include <boost/uuid/uuid.hpp> #include <boost/uuid/uuid_io.hpp> #include <boost/lexical_cast.hpp> @@ -349,6 +350,11 @@ POP_WARNINGS s = *(t_pod_type*)bin_buff.data(); return true; } + //---------------------------------------------------------------------------- + inline bool validate_hex(uint64_t length, const std::string& str) + { + return std::regex_match(str, std::regex("'^[0-9abcdefABCDEF]+$'")) && str.size() == length; + } //---------------------------------------------------------------------------- inline std::string get_extension(const std::string& str) { |