Hi, You probably already considered and rejected the GNU argp parser. I used it before and I'd like to know reasons I should stay away from it. Cheers, Emil. > -----Original Message----- > From: git-owner@xxxxxxxxxxxxxxx > [mailto:git-owner@xxxxxxxxxxxxxxx] On Behalf Of Pierre Habouzit > Sent: Friday, October 05, 2007 9:46 AM > To: Mike Hommey > Cc: Kristian Høgsberg; git@xxxxxxxxxxxxxxx; Junio C Hamano > Subject: Re: [ALTERNATE PATCH] Add a simple option parser. > > On Fri, Oct 05, 2007 at 02:30:14PM +0000, Mike Hommey wrote: > > On Fri, Oct 05, 2007 at 04:25:07PM +0200, Pierre Habouzit > <madcoder@xxxxxxxxxx> wrote: > > > The option parser takes argc, argv, an array of struct option > > > and a usage string. Each of the struct option elements > in the array > > > describes a valid option, its type and a pointer to the > location where the > > > value is written. The entry point is parse_options(), > which scans through > > > the given argv, and matches each option there against the > list of valid > > > options. During the scan, argv is rewritten to only contain the > > > non-option command line arguments and the number of these > is returned. > > > > > > Aggregation of single switches is allowed: > > > -rC0 is the same as -r -C 0 (supposing that -C wants an arg). > > > > I like options aggregation, but I'm not sure aggregating > option arguments > > is a good idea... I can't even think of an application that does it. > > You mean like `grep -A1` or `diff -u3` or `ls -w10` ? > > getopt does that by default as well, so you may not have aware of it, > but it's how things work in your system already. > > btw `ls -rw10` works, though `ls -w10r` drops the 'r' > silently. FWIW I > don't, in that case, the alternate patch I propose complains > about "10r" > not being a valid integer, and that's because unlike getopt, the patch > krh proposed knows what an integer is ;) > -- > ·O· Pierre Habouzit > ··O madcoder@xxxxxxxxxx > OOO > http://www.madism.org - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html