aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorstoffu <stoffu@protonmail.ch>2017-10-19 21:57:49 +0900
committerstoffu <stoffu@protonmail.ch>2017-11-14 16:33:17 +0900
commit105425b7f69ae115ec287242fdf12d6a8458a10f (patch)
treefafc948c6e9ad0b0275c46e3972b30cccf126ef3 /src/common
parentMerge pull request #2694 (diff)
downloadmonero-105425b7f69ae115ec287242fdf12d6a8458a10f.tar.xz
simplewallet: reject invalid argument for boolean parameter
Diffstat (limited to 'src/common')
-rw-r--r--src/common/command_line.cpp14
-rw-r--r--src/common/command_line.h2
2 files changed, 16 insertions, 0 deletions
diff --git a/src/common/command_line.cpp b/src/common/command_line.cpp
index 666b3267f..d4a28fc85 100644
--- a/src/common/command_line.cpp
+++ b/src/common/command_line.cpp
@@ -78,6 +78,20 @@ namespace command_line
return false;
}
+ bool is_no(const std::string& str)
+ {
+ if (str == "n" || str == "N")
+ return true;
+
+ boost::algorithm::is_iequal ignore_case{};
+ if (boost::algorithm::equals("no", str, ignore_case))
+ return true;
+ if (boost::algorithm::equals(command_line::tr("no"), str, ignore_case))
+ return true;
+
+ return false;
+ }
+
const arg_descriptor<bool> arg_help = {"help", "Produce help message"};
const arg_descriptor<bool> arg_version = {"version", "Output version information"};
const arg_descriptor<std::string> arg_data_dir = {"data-dir", "Specify data directory"};
diff --git a/src/common/command_line.h b/src/common/command_line.h
index 04fd70be5..bfc8b19c6 100644
--- a/src/common/command_line.h
+++ b/src/common/command_line.h
@@ -45,6 +45,8 @@ namespace command_line
//! \return True if `str` is `is_iequal("y" || "yes" || `tr("yes"))`.
bool is_yes(const std::string& str);
+ //! \return True if `str` is `is_iequal("n" || "no" || `tr("no"))`.
+ bool is_no(const std::string& str);
template<typename T, bool required = false>
struct arg_descriptor;