[PATCH v2] parse-options.c: use "enum parse_opt_result" for parse_nodash_opt()
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Nov 10, 2021, 01:27 UTC
- Message-ID
- <patch-v2-1.1-376f76bb44e-20211110T012523Z-avarab@gmail.com>
- In-Reply-To
- <211110.867ddgkjcp.gmgdl@evledraar.gmail.com>
Change the parse_nodash_opt() function to use "enum parse_opt_result".In 352e761388b (parse-options.[ch]: consistently use "enum parse_opt_result", 2021-10-08) its only caller parse_options_step() started using that return type, and the get_value() which will be called and return from it uses the same enum.
Let's do the same here so that this function always returns an "enum parse_opt_result" value.
We could go for either PARSE_OPT_HELP (-2) or PARSE_OPT_ERROR (-1) here. The reason we ended up with "-2" is that in code added in 07fe54db3cd (parse-opt: do not print errors on unknown options, return "-2" instead., 2008-06-23) we used that value in a meaningful way.
Then in 51a9949eda7 (parseopt: add PARSE_OPT_NODASH, 2009-05-07) the use of "-2" was seemingly copy/pasted from parse_long_opt(), which was the function immediately above the parse_nodash_opt() function added in that commit.
Since we only care about whether the return value here is non-zero let's use the more generic PARSE_OPT_ERROR.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> ---
Now with an updated commit message per the v1 discussion. I peeled off the 1/2 patch as it's already on "master" as 06a199f38b5 (parse-options.[ch]: revert use of "enum" for parse_options(), 2021-11-09).
Range-diff against v1:
1: 057a9f81b47 < -: ----------- parse-options.[ch]: revert use of "enum" for parse_options()
2: aa6224b10f8 ! 1: 376f76bb44e parse-options.c: use "enum parse_opt_result" for parse_nodash_opt()
@@ Commit message
parse-options.c: use "enum parse_opt_result" for parse_nodash_opt()
Change the parse_nodash_opt() function to use "enum
- parse_opt_result". In 352e761388b (parse-options.[ch]: consistently
+ parse_opt_result".In 352e761388b (parse-options.[ch]: consistently
use "enum parse_opt_result", 2021-10-08) its only caller
parse_options_step() started using that return type, and the
get_value() which will be called and return from it uses the same
@@ Commit message
Let's do the same here so that this function always returns an "enum
parse_opt_result" value.
+ We could go for either PARSE_OPT_HELP (-2) or PARSE_OPT_ERROR (-1)
+ here. The reason we ended up with "-2" is that in code added in
+ 07fe54db3cd (parse-opt: do not print errors on unknown options, return
+ "-2" instead., 2008-06-23) we used that value in a meaningful way.
+
+ Then in 51a9949eda7 (parseopt: add PARSE_OPT_NODASH, 2009-05-07) the
+ use of "-2" was seemingly copy/pasted from parse_long_opt(), which was
+ the function immediately above the parse_nodash_opt() function added
+ in that commit.
+
+ Since we only care about whether the return value here is non-zero
+ let's use the more generic PARSE_OPT_ERROR.
+
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
## parse-options.c ##parse-options.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/parse-options.c b/parse-options.c index fc5b43ff0b2..629e7963497 100644 --- a/parse-options.c +++ b/parse-options.c @@ -404,8 +404,9 @@ static enum parse_opt_result parse_long_opt( return PARSE_OPT_UNKNOWN; } -static int parse_nodash_opt(struct parse_opt_ctx_t *p, const char *arg, - const struct option *options) +static enum parse_opt_result parse_nodash_opt(struct parse_opt_ctx_t *p, + const char *arg, + const struct option *options) { const struct option *all_opts = options; @@ -415,7 +416,7 @@ static int parse_nodash_opt(struct parse_opt_ctx_t *p, const char *arg, if (options->short_name == arg[0] && arg[1] == '\0') return get_value(p, options, all_opts, OPT_SHORT); } - return -2; + return PARSE_OPT_ERROR; } static void check_typos(const char *arg, const struct option *options)
-- 2.34.0.rc1.741.gab7bfd97031