From c4406e24799acc3a0a5a640adac812d7bc0c84f8 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Mon, 11 Mar 2024 22:09:39 +0100 Subject: [PATCH] Change key of m_argument_map to be a std::string to make clang -fsanitize=unsigned-integer-overflow happy --- include/argparse/argparse.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/argparse/argparse.hpp b/include/argparse/argparse.hpp index ec06ba2..0591926 100644 --- a/include/argparse/argparse.hpp +++ b/include/argparse/argparse.hpp @@ -1734,12 +1734,12 @@ public: * @throws std::logic_error in case of an invalid argument name */ Argument &operator[](std::string_view arg_name) const { - auto it = m_argument_map.find(arg_name); + std::string name(arg_name); + auto it = m_argument_map.find(name); if (it != m_argument_map.end()) { return *(it->second); } if (!is_valid_prefix_char(arg_name.front())) { - std::string name(arg_name); const auto legal_prefix_char = get_any_valid_prefix_char(); const auto prefix = std::string(1, legal_prefix_char); @@ -2172,7 +2172,7 @@ private: bool m_is_parsed = false; std::list m_positional_arguments; std::list m_optional_arguments; - std::map m_argument_map; + std::map m_argument_map; std::string m_parser_path; std::list> m_subparsers; std::map m_subparser_map;