Fix warnings

This commit is contained in:
Leonetienne 2021-06-02 19:59:01 +02:00
parent 7b9edcd356
commit e62ffa206c
3 changed files with 14 additions and 12 deletions

View File

@ -60,12 +60,12 @@ void Hazelnupp::Parse(const int argc, const char* const* argv)
// Types have already been enforced. // Types have already been enforced.
ApplyConstraints(); ApplyConstraints();
} }
catch (HazelnuppConstraintTypeMissmatch hctm) catch (const HazelnuppConstraintTypeMissmatch& hctm)
{ {
std::cerr << "Fatal error: Command-line parameter value-type mismatch at \"" << hctm.What() << "\"!"; std::cerr << "Fatal error: Command-line parameter value-type mismatch at \"" << hctm.What() << "\"!";
quick_exit(-1009); quick_exit(-1009);
} }
catch (HazelnuppConstraintMissingValue hctm) catch (const HazelnuppConstraintMissingValue& hctm)
{ {
std::cerr << "Fatal error: Missing required command-line parameter \"" << hctm.What() << "\"!"; std::cerr << "Fatal error: Missing required command-line parameter \"" << hctm.What() << "\"!";
quick_exit(-1010); quick_exit(-1010);

View File

@ -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 StringTools::ParseNumber(const std::string& str, bool& out_isInt, long double& out_number)
{ {
bool isNormalNum = true;
bool isNegative = false;
bool isDecimal = false; bool isDecimal = false;
if (str.length() == 0) return false; if (str.length() == 0) return false;
if (str[0] == '-') isNegative = true;
if (Contains(str, '.')) isDecimal = true; if (Contains(str, '.')) isDecimal = true;
if (isDecimal) if (isDecimal)
@ -95,11 +91,11 @@ bool StringTools::ParseNumber(const std::string& str, bool& out_isInt, long doub
out_number = std::stold(str); out_number = std::stold(str);
out_isInt = false; out_isInt = false;
} }
catch (std::invalid_argument) catch (std::invalid_argument&)
{ {
return false; return false;
} }
catch (std::out_of_range) catch (std::out_of_range&)
{ {
return false; 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_number = (long double)std::stoll(str);
out_isInt = true; out_isInt = true;
} }
catch (std::invalid_argument) catch (std::invalid_argument&)
{ {
return false; return false;
} }
catch (std::out_of_range) catch (std::out_of_range&)
{ {
return false; return false;
} }

View File

@ -6,6 +6,7 @@ int main(int argc, char** argv)
{ {
while (1) while (1)
{ {
// Mock command-line params
std::vector<const char*> testArgv = { std::vector<const char*> testArgv = {
"meinpfad", "meinpfad",
"-w", "-w",
@ -22,6 +23,10 @@ int main(int argc, char** argv)
"5", "5",
}; };
argc = testArgv.size();
argv = const_cast<char**>(testArgv.data());
// Prepare Hazelnupp parser
Hazelnupp args; Hazelnupp args;
ParamConstraint pc; ParamConstraint pc;
@ -37,9 +42,10 @@ int main(int argc, char** argv)
args.RegisterAbbreviation("-w", "--word"); args.RegisterAbbreviation("-w", "--word");
args.Parse(testArgv.size(), testArgv.data()); // Parse
//args.Parse(argc, argv); args.Parse(argc, argv);
// Use
if (args.HasParam("--alfredo")) if (args.HasParam("--alfredo"))
{ {
std::cout << args["--alfredo"] << std::endl; std::cout << args["--alfredo"] << std::endl;