Re: [PATCH 1/2] parse_options: Add flag to prevent errors for further processing
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jun 18, 2008, 16:50 UTC
- Message-ID
- <alpine.DEB.1.00.0806181709300.6439@racer>
- In-Reply-To
- <7vwskn1g2p.fsf@gitster.siamese.dyndns.org>
Hi,
On Tue, 17 Jun 2008, Junio C Hamano wrote:
Show 11 quoted lines
> Jeff King <peff@peff.net> writes: > > > I think the only right way to accomplish this is to convert the revision > > and diff parameters into a parseopt-understandable format. > > Not necessarily. You could structure individual option parsers like how > diff option parsers are done. You iterate over argv[], feed diff option > parser the current index into argv[] and ask if it is an option diff > understands, have diff eat the option (and possibly its parameter) to > advance the index, or allow diff option to say "I do not understand > this", and then handle it yourself or hand it to other parsers.
AFAIR Pierre tried a few ways, and settled with a macro to introduce the diff options into a caller's options.
IOW it would look something like this:
static struct option builtin_what_options[] = {
[... options specific to this command ...]
DIFF__OPT(&diff_options)
};Ciao, Dscho