From: Ján Kupec Date: Wed, 3 Feb 2010 12:29:04 +0000 (+0100) Subject: exit if missing required option argument X-Git-Tag: 1.2.17~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=579e75001d1a1efe629e6d88d54ddd977ea1771d;p=platform%2Fupstream%2Fzypper.git exit if missing required option argument --- diff --git a/src/Zypper.cc b/src/Zypper.cc index aff053a..b8891ca 100644 --- a/src/Zypper.cc +++ b/src/Zypper.cc @@ -345,7 +345,7 @@ void Zypper::processGlobalOptions() // parse global options parsed_opts gopts = parse_options (_argc, _argv, global_options); - if (gopts.count("_unknown")) + if (gopts.count("_unknown") || gopts.count("_missing_arg")) { setExitCode(ZYPPER_EXIT_ERR_SYNTAX); return; @@ -2397,10 +2397,10 @@ void Zypper::processCommandOptions() // parse command options ::copts = _copts = parse_options (argc(), argv(), specific_options); - if (copts.count("_unknown")) + if (copts.count("_unknown") || gopts.count("_missing_arg")) { setExitCode(ZYPPER_EXIT_ERR_SYNTAX); - ERR << "Unknown option, returning." << endl; + ERR << "Unknown option or missing argument, returning." << endl; return; } diff --git a/src/utils/getopt.cc b/src/utils/getopt.cc index 9944767..33f0cef 100644 --- a/src/utils/getopt.cc +++ b/src/utils/getopt.cc @@ -82,11 +82,12 @@ parsed_opts parse_options (int argc, char **argv, cerr << "'" << endl; - // tell the caller there have been uknown options encountered + // tell the caller there have been unknown options encountered result["_unknown"].push_back(""); break; case ':': cerr << _("Missing argument for ") << argv[optind - 1] << endl; + result["_missing_arg"].push_back(""); break; default: const char *mapidx = optc? short2long[optc] : longopts[option_index].name;