Re: [PATCH 1/2] parse-options.[ch]: revert use of "enum" for parse_options()
From: Junio C Hamano <hidden>
Date: 2021-11-09 17:45:20
Ævar Arnfjörð Bjarmason [off-list ref] writes:
Revert the parse_options() prototype change in my recent 352e761388b (parse-options.[ch]: consistently use "enum parse_opt_result", 2021-10-08) was incorrect. The parse_options() function returns the number of argc elements that haven't been processed, not "enum parse_opt_result". Reported-by: SZEDER Gábor <redacted> Signed-off-by: Ævar Arnfjörð Bjarmason <redacted> --- parse-options.c | 10 +++++----- parse-options.h | 9 ++++----- 2 files changed, 9 insertions(+), 10 deletions(-)
Yes, this makes total sense. We went overboard during the series.
quoted hunk
diff --git a/parse-options.c b/parse-options.c index 9a0484c8831..fc5b43ff0b2 100644 --- a/parse-options.c +++ b/parse-options.c@@ -860,11 +860,11 @@ int parse_options_end(struct parse_opt_ctx_t *ctx) return ctx->cpidx + ctx->argc; } -enum parse_opt_result parse_options(int argc, const char **argv, - const char *prefix, - const struct option *options, - const char * const usagestr[], - enum parse_opt_flags flags) +int parse_options(int argc, const char **argv, + const char *prefix, + const struct option *options, + const char * const usagestr[], + enum parse_opt_flags flags) { struct parse_opt_ctx_t ctx; struct option *real_options;diff --git a/parse-options.h b/parse-options.h index bdea052c399..275fb440818 100644 --- a/parse-options.h +++ b/parse-options.h@@ -213,11 +213,10 @@ struct option { * untouched and parse_options() returns the number of options * processed. */ -enum parse_opt_result parse_options(int argc, const char **argv, - const char *prefix, - const struct option *options, - const char * const usagestr[], - enum parse_opt_flags flags); +int parse_options(int argc, const char **argv, const char *prefix, + const struct option *options, + const char * const usagestr[], + enum parse_opt_flags flags); NORETURN void usage_with_options(const char * const *usagestr, const struct option *options);