Re: [PATCH v3 1/5] parse-options: Allow PARSE_OPT_NOARG in integer arguments
- From
Ramkumar Ramachandra <artagnon@gmail.com>
- Date
- Aug 20, 2010, 20:01 UTC
- Message-ID
- <20100820200148.GE6211@kytes>
- In-Reply-To
- <7vlj81awtc.fsf@alter.siamese.dyndns.org>
Hi Junio,
Junio C Hamano writes:
Show 9 quoted lines
> Ramkumar Ramachandra <artagnon@gmail.com> writes: > > > When the option parser encounters an OPTION_INTEGER argument, > > PARSE_OPT_NOARG should imply that the default value should be used. > > Sorry but why? > > Doesn't NOARG mean "Do not take an argument, if you give me an argument > that is an error"?
Oh, does it mean that? I might have interpreted the description in `parse-options.h` too literally: "says that this option takes no argument". So I'm handling the case when an integer option is specified, but no integer argument is given.
> I would understand if this were OPT_OPTARG, though.
That case is already handled. The condition (opt->flags & PARSE_OPT_OPTARG && !p->opt) does the same thing.
> Confused...
Okay, let me explain. Let's say I want to have an option that takes an integer argument, say `foo`. To set it to the integer argument 42, I can say `--foo=42`. To set it to its default value, I could earlier say `--foo=`. With this patch I can simply say `--foo`. Makes sense?
-- Ram