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
Attachment:
pgpswSdTGxtWg.pgp
Description: PGP signature