Merge pull request #8764

b13ddb9 Handle case where a command line flag is not allowed in the config file (almalh)
This commit is contained in:
luigi1111 2023-04-25 11:19:38 -04:00
commit 83100b6cbe
No known key found for this signature in database
GPG Key ID: F4ACA0183641E010

View File

@ -219,6 +219,19 @@ int main(int argc, char const * argv[])
{ {
po::store(po::parse_config_file<char>(config_path.string<std::string>().c_str(), core_settings), vm); po::store(po::parse_config_file<char>(config_path.string<std::string>().c_str(), core_settings), vm);
} }
catch (const po::unknown_option &e)
{
std::string unrecognized_option = e.get_option_name();
if (all_options.find_nothrow(unrecognized_option, false))
{
std::cerr << "Option '" << unrecognized_option << "' is not allowed in the config file, please use it as a command line flag." << std::endl;
}
else
{
std::cerr << "Unrecognized option '" << unrecognized_option << "' in config file." << std::endl;
}
return 1;
}
catch (const std::exception &e) catch (const std::exception &e)
{ {
// log system isn't initialized yet // log system isn't initialized yet