src/main.cpp: exit cleanly/immediately on invalid option

This commit is contained in:
Mario Fink 2021-01-16 01:12:03 +01:00
parent 7acc6554a5
commit 7942e6e725

View File

@ -133,6 +133,7 @@ optkeys parse_args(int argc, char* argv[], bool showargs = false)
{ {
std::string argerr = std::string("unkown option '") + argv[i] + std::string("'"); std::string argerr = std::string("unkown option '") + argv[i] + std::string("'");
std::cerr<<argerr + std::string("\n") + arguse + std::string("\n"); std::cerr<<argerr + std::string("\n") + arguse + std::string("\n");
prsdkeys.insert(std::pair<std::string,std::string>("invalidoption",argv[i]));
return prsdkeys; return prsdkeys;
} }
} }
@ -152,7 +153,8 @@ int main(int argc, char* argv[])
// parse CLI arguments // parse CLI arguments
optkeys cfgopts = parse_args(argc,argv); optkeys cfgopts = parse_args(argc,argv);
if ( cfgopts.count("tdm") == 1 && cfgopts.count("tdx") == 1 ) if ( cfgopts.count("tdm") == 1 && cfgopts.count("tdx") == 1
&& cfgopts.count("invalidoption") == 0 )
{ {
// set required option values // set required option values
std::string output = cfgopts.count("output") == 1 ? cfgopts.at("output") std::string output = cfgopts.count("output") == 1 ? cfgopts.at("output")