From e62ffa206cfdaa8fc3d1b2c7b314ca161f5390f7 Mon Sep 17 00:00:00 2001 From: Leonetienne Date: Wed, 2 Jun 2021 19:59:01 +0200 Subject: [PATCH] Fix warnings --- Hazelnupp/Hazelnupp.cpp | 4 ++-- Hazelnupp/StringTools.cpp | 12 ++++-------- Hazelnupp/main.cpp | 10 ++++++++-- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/Hazelnupp/Hazelnupp.cpp b/Hazelnupp/Hazelnupp.cpp index a484eba..59cfc02 100644 --- a/Hazelnupp/Hazelnupp.cpp +++ b/Hazelnupp/Hazelnupp.cpp @@ -60,12 +60,12 @@ void Hazelnupp::Parse(const int argc, const char* const* argv) // Types have already been enforced. ApplyConstraints(); } - catch (HazelnuppConstraintTypeMissmatch hctm) + catch (const HazelnuppConstraintTypeMissmatch& hctm) { std::cerr << "Fatal error: Command-line parameter value-type mismatch at \"" << hctm.What() << "\"!"; quick_exit(-1009); } - catch (HazelnuppConstraintMissingValue hctm) + catch (const HazelnuppConstraintMissingValue& hctm) { std::cerr << "Fatal error: Missing required command-line parameter \"" << hctm.What() << "\"!"; quick_exit(-1010); diff --git a/Hazelnupp/StringTools.cpp b/Hazelnupp/StringTools.cpp index f0e9071..453e5c9 100644 --- a/Hazelnupp/StringTools.cpp +++ b/Hazelnupp/StringTools.cpp @@ -79,13 +79,9 @@ bool StringTools::IsNumeric(const std::string& str, const bool allowDecimalPoint bool StringTools::ParseNumber(const std::string& str, bool& out_isInt, long double& out_number) { - bool isNormalNum = true; - - bool isNegative = false; bool isDecimal = false; if (str.length() == 0) return false; - if (str[0] == '-') isNegative = true; if (Contains(str, '.')) isDecimal = true; if (isDecimal) @@ -95,11 +91,11 @@ bool StringTools::ParseNumber(const std::string& str, bool& out_isInt, long doub out_number = std::stold(str); out_isInt = false; } - catch (std::invalid_argument) + catch (std::invalid_argument&) { return false; } - catch (std::out_of_range) + catch (std::out_of_range&) { return false; } @@ -111,11 +107,11 @@ bool StringTools::ParseNumber(const std::string& str, bool& out_isInt, long doub out_number = (long double)std::stoll(str); out_isInt = true; } - catch (std::invalid_argument) + catch (std::invalid_argument&) { return false; } - catch (std::out_of_range) + catch (std::out_of_range&) { return false; } diff --git a/Hazelnupp/main.cpp b/Hazelnupp/main.cpp index 376a2a3..0b2535f 100644 --- a/Hazelnupp/main.cpp +++ b/Hazelnupp/main.cpp @@ -6,6 +6,7 @@ int main(int argc, char** argv) { while (1) { + // Mock command-line params std::vector testArgv = { "meinpfad", "-w", @@ -22,6 +23,10 @@ int main(int argc, char** argv) "5", }; + argc = testArgv.size(); + argv = const_cast(testArgv.data()); + + // Prepare Hazelnupp parser Hazelnupp args; ParamConstraint pc; @@ -37,9 +42,10 @@ int main(int argc, char** argv) args.RegisterAbbreviation("-w", "--word"); - args.Parse(testArgv.size(), testArgv.data()); - //args.Parse(argc, argv); + // Parse + args.Parse(argc, argv); + // Use if (args.HasParam("--alfredo")) { std::cout << args["--alfredo"] << std::endl;