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?

Reply via email to