diff options
author | Marius Kintel <marius@kintel.net> | 2012-02-19 10:17:24 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2012-02-19 10:17:24 (GMT) |
commit | bddf392281d20bf1ad763577c8d3a846c5891ab9 (patch) | |
tree | 6b732aa7b1a92c9a0a534bccb7f08e87cefd2fe4 /src/openscad.cc | |
parent | b9022524397f0cb4e89318247051162fed34efb7 (diff) |
Bugfix: Unknown cmd-line options caused a crash. Reported by nop head.
Diffstat (limited to 'src/openscad.cc')
-rw-r--r-- | src/openscad.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/openscad.cc b/src/openscad.cc index f45f81a..7fe054f 100644 --- a/src/openscad.cc +++ b/src/openscad.cc @@ -149,9 +149,14 @@ int main(int argc, char **argv) all_options.add(desc).add(hidden); po::variables_map vm; - po::store(po::command_line_parser(argc, argv).options(all_options).positional(p).run(), vm); -// po::notify(vm); - + try { + po::store(po::command_line_parser(argc, argv).options(all_options).positional(p).run(), vm); + } + catch(std::exception &e) { // Catches e.g. unknown options + fprintf(stderr, "%s\n", e.what()); + help(argv[0]); + } + if (vm.count("help")) help(argv[0]); if (vm.count("version")) version(); |