From e169b974593c27ba7a0d7f63ec0ec40373cb64bb Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Sun, 7 Jun 2009 16:39:15 -0700 Subject: [PATCH] show-branch: don't use LASTARG_DEFAULT with OPTARG MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 5734365 (show-branch: migrate to parse-options API 2009-05-21) incorrectly set the --more option's flags to be PARSE_OPT_LASTARG_DEFAULT and PARSE_OPT_OPTARG. These two flags shouldn't be used together. An option taking a default should just set the default value desired and parse options will take care of the rest. Update the header comment to better convey this information. Signed-off-by: Stephen Boyd Acked-by: René Scharfe Signed-off-by: Junio C Hamano --- builtin-show-branch.c | 3 +-- parse-options.h | 7 +++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/builtin-show-branch.c b/builtin-show-branch.c index 943381195..01bea3b58 100644 --- a/builtin-show-branch.c +++ b/builtin-show-branch.c @@ -657,8 +657,7 @@ int cmd_show_branch(int ac, const char **av, const char *prefix) "color '*!+-' corresponding to the branch"), { OPTION_INTEGER, 0, "more", &extra, "n", "show more commits after the common ancestor", - PARSE_OPT_OPTARG | PARSE_OPT_LASTARG_DEFAULT, - NULL, (intptr_t)1 }, + PARSE_OPT_OPTARG, NULL, (intptr_t)1 }, OPT_SET_INT(0, "list", &extra, "synonym to more=-1", -1), OPT_BOOLEAN(0, "no-name", &no_name, "suppress naming strings"), OPT_BOOLEAN(0, "current", &with_current_branch, diff --git a/parse-options.h b/parse-options.h index b374ade95..5653dbab8 100644 --- a/parse-options.h +++ b/parse-options.h @@ -71,8 +71,11 @@ typedef int parse_opt_cb(const struct option *, const char *arg, int unset); * PARSE_OPT_NONEG: says that this option cannot be negated * PARSE_OPT_HIDDEN: this option is skipped in the default usage, and * shown only in the full usage. - * PARSE_OPT_LASTARG_DEFAULT: if no argument is given, the default value - * is used. + * PARSE_OPT_LASTARG_DEFAULT: says that this option will take the default + * value if no argument is given when the option + * is last on the command line. If the option is + * not last it will require an argument. + * Should not be used with PARSE_OPT_OPTARG. * PARSE_OPT_NODASH: this option doesn't start with a dash. * PARSE_OPT_LITERAL_ARGHELP: says that argh shouldn't be enclosed in brackets * (i.e. '') in the help message. -- 2.30.2