On 13/10/13 03:32, Andrew Gregory wrote: > On invalid combinations of flags we were only printing the unhelpfully > vague message "invalid option". > > Signed-off-by: Andrew Gregory <[email protected]> > --- > src/pacman/conf.h | 3 ++- > src/pacman/pacman.c | 7 ++++++- > 2 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/src/pacman/conf.h b/src/pacman/conf.h > index e263d7c..45e48c0 100644 > --- a/src/pacman/conf.h > +++ b/src/pacman/conf.h > @@ -128,7 +128,8 @@ enum { > > /* Long Operations */ > enum { > - OP_NOCONFIRM = 1000, > + OP_LONG_FLAG_MIN = 1000, > + OP_NOCONFIRM, > OP_CONFIG, > OP_IGNORE, > OP_DEBUG, > diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c > index 93baa44..308ff38 100644 > --- a/src/pacman/pacman.c > +++ b/src/pacman/pacman.c > @@ -828,7 +828,12 @@ static int parseargs(int argc, char *argv[]) > result = parsearg_global(opt); > if(result != 0) { > /* global option parsing failed, abort */ > - pm_printf(ALPM_LOG_ERROR, _("invalid option\n")); > + if(opt < OP_LONG_FLAG_MIN) { > + pm_printf(ALPM_LOG_ERROR, _("invalid option > '-%c'\n"), opt); > + } else { > + pm_printf(ALPM_LOG_ERROR, _("invalid option > '--%s'\n"), > + opts[option_index].name); > + } > return result;
I spent some time trying to get to this error. I found tow ways to get there and both do not seem like this is actually the right error message: allan@arya ~ > pacman --color=foo error: invalid argument 'foo' for --color error: invalid option allan@arya ~ > pacman --debug=4 error: '4' is not a valid debug level error: invalid option How else can we get there?
