[pacman-dev] [PATCH 3/7] include invalid options in error messages

Allan McRae allan at archlinux.org
Sat Oct 12 20:06:56 EDT 2013


On 13/10/13 09:55, Allan McRae wrote:
> 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 <andrew.gregory.8 at gmail.com>
>> ---
>>  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 at arya ~
>> pacman --color=foo
> error: invalid argument 'foo' for --color
> error: invalid option
> 
> allan at arya ~
>> pacman --debug=4
> error: '4' is not a valid debug level
> error: invalid option
> 
> How else can we get there?
> 

Answering my own question:

> pacman -S --changelog
error: invalid option




More information about the pacman-dev mailing list