CLI: Return non-zero on unknown sub commands

fixes #6585
This commit is contained in:
Michael Friedrich 2019-05-07 12:43:53 +02:00
parent aa88271d5a
commit 00bc0b2303
2 changed files with 11 additions and 3 deletions

View File

@ -327,8 +327,13 @@ static int Main()
po::variables_map vm;
try {
CLICommand::ParseCommand(argc, argv, visibleDesc, hiddenDesc, positionalDesc,
vm, cmdname, command, autocomplete);
if (!CLICommand::ParseCommand(argc, argv, visibleDesc, hiddenDesc, positionalDesc,
vm, cmdname, command, autocomplete)) {
Log(LogCritical, "icinga-app")
<< "Command parsing error. Try '--help'.";
return EXIT_FAILURE;
}
} catch (const std::exception& ex) {
Log(LogCritical, "icinga-app")
<< "Error while parsing command-line options: " << ex.what();

View File

@ -200,9 +200,12 @@ found_command:
visibleDesc.add(vdesc);
}
if (autocomplete || (tried_command && !command))
if (autocomplete)
return true;
if (tried_command && !command)
return false;
po::options_description adesc;
adesc.add(visibleDesc);
adesc.add(hiddenDesc);