Re: [PATCH] Port builtin-add.c to use the new option parser.
On Sat, Oct 13, 2007 at 02:47:20PM +0000, Johannes Schindelin wrote:
Show 19 quoted lines
> 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 <stdio.h> 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