forked from mirror/openmw-tes3mp
Bugfix #826
This commit is contained in:
parent
623200b50e
commit
f4d302501e
2 changed files with 30 additions and 9 deletions
|
@ -108,11 +108,21 @@ bool parseOptions (int argc, char** argv, Arguments &info)
|
||||||
// there might be a better way to do this
|
// there might be a better way to do this
|
||||||
bpo::options_description all;
|
bpo::options_description all;
|
||||||
all.add(desc).add(hidden);
|
all.add(desc).add(hidden);
|
||||||
bpo::parsed_options valid_opts = bpo::command_line_parser(argc, argv)
|
|
||||||
.options(all).positional(p).run();
|
|
||||||
|
|
||||||
bpo::variables_map variables;
|
bpo::variables_map variables;
|
||||||
bpo::store(valid_opts, variables);
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
bpo::parsed_options valid_opts = bpo::command_line_parser(argc, argv)
|
||||||
|
.options(all).positional(p).run();
|
||||||
|
|
||||||
|
bpo::store(valid_opts, variables);
|
||||||
|
}
|
||||||
|
catch(boost::program_options::unknown_option & x)
|
||||||
|
{
|
||||||
|
std::cerr << "ERROR: " << x.what() << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
bpo::notify(variables);
|
bpo::notify(variables);
|
||||||
|
|
||||||
if (variables.count ("help"))
|
if (variables.count ("help"))
|
||||||
|
|
|
@ -28,12 +28,23 @@ int main(int argc, char *argv[]) {
|
||||||
p_desc.add("ini", 1).add("cfg", 1);
|
p_desc.add("ini", 1).add("cfg", 1);
|
||||||
|
|
||||||
bpo::variables_map vm;
|
bpo::variables_map vm;
|
||||||
bpo::parsed_options parsed = bpo::command_line_parser(argc, argv)
|
|
||||||
.options(desc)
|
|
||||||
.positional(p_desc)
|
|
||||||
.run();
|
|
||||||
|
|
||||||
bpo::store(parsed, vm);
|
try
|
||||||
|
{
|
||||||
|
bpo::parsed_options parsed = bpo::command_line_parser(argc, argv)
|
||||||
|
.options(desc)
|
||||||
|
.positional(p_desc)
|
||||||
|
.run();
|
||||||
|
|
||||||
|
bpo::store(parsed, vm);
|
||||||
|
}
|
||||||
|
catch(boost::program_options::unknown_option & x)
|
||||||
|
{
|
||||||
|
std::cerr << "ERROR: " << x.what() << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(vm.count("help") || !vm.count("ini") || !vm.count("cfg")) {
|
if(vm.count("help") || !vm.count("ini") || !vm.count("cfg")) {
|
||||||
std::cout << desc;
|
std::cout << desc;
|
||||||
|
|
Loading…
Reference in a new issue