From: Pierre Habouzit Date: Sat, 13 Oct 2007 15:03:06 GMT Subject: Re: [PATCH] Port builtin-add.c to use the new option parser. Message-ID: <20071013150306.GH7110@artemis.corp> In-Reply-To: On Sat, Oct 13, 2007 at 02:47:20PM +0000, Johannes Schindelin wrote: > Hi, > > On Sat, 13 Oct 2007, Pierre Habouzit wrote: > > > +static struct option builtin_add_options[] = { > > + OPT_BOOLEAN('i', "interactive", &add_interactive, "interactive picking"), > > + OPT_BOOLEAN('n', NULL, &show_only, "dry-run"), > > + OPT_BOOLEAN('f', NULL, &ignored_too, "allow adding otherwise ignored files"), > > + OPT_BOOLEAN('v', NULL, &verbose, "be verbose"), > > + OPT_BOOLEAN('u', NULL, &take_worktree_changes, "update only files that git already knows about"), > > + OPT_BOOLEAN( 0 , "refresh", &refresh_only, "don't add, only refresh stat() informations in the index"), > > +}; > > I see you terminate the list by a ",". How does this play with the option > parser? > > Thinking about this more, I am reverting my stance on the ARRAY_SIZE() > issue. I think if you introduce a "OPTION_NONE = 0" in the enum, then > this single last comma should be enough. adding a trailing comma does not add a NULL after that, it's ignored, you're confused. ┌─(17:00)──── └[artemis] cat a.c #include int main(void) { const char * const arr[] = { "1", "2", }; printf("%d\n", sizeof(arr) / sizeof(arr[0])); return 0; }; ┌─(17:00)──── └[artemis] ./a 2 Very few compilers do not grok trailing commas, I always put them because it avoids spurious diffs for nothing, and that you can reorder lines easily too. Note that I don't really like using ARRAY_SIZE either, I kept it that way, but my taste would rather be to have an "empty" option, and explicitely mark the end of the array. -- ·O· Pierre Habouzit ··O madcoder@debian.org OOO http://www.madism.org