]> git.ipfire.org Git - thirdparty/git.git/commitdiff
parse-options: refactor flags for usage_with_options_internal
authorD. Ben Knoble <ben.knoble+github@gmail.com>
Sun, 3 Aug 2025 16:10:26 +0000 (12:10 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 8 Aug 2025 18:13:12 +0000 (11:13 -0700)
When reading or editing calls to usage_with_options_internal, it is
difficult to tell what trailing "0, 0", "0, 1", "1, 0" arguments mean
(NB there is never a "1, 1" case).

Give the flags readable names to improve call-sites without changing any
behavior.

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
parse-options.c

index 5224203ffe7bf8a70b4f58060bed20a5dad1afae..169d76fb65594b797e7867102fe3d17d9ebdefcf 100644 (file)
@@ -953,10 +953,16 @@ static void free_preprocessed_options(struct option *options)
        free(options);
 }
 
+#define USAGE_NORMAL 0
+#define USAGE_FULL 1
+#define USAGE_TO_STDOUT 0
+#define USAGE_TO_STDERR 1
+
 static enum parse_opt_result usage_with_options_internal(struct parse_opt_ctx_t *,
                                                         const char * const *,
                                                         const struct option *,
-                                                        int, int);
+                                                        int full_usage,
+                                                        int usage_to_stderr);
 
 enum parse_opt_result parse_options_step(struct parse_opt_ctx_t *ctx,
                                         const struct option *options,
@@ -1088,7 +1094,8 @@ enum parse_opt_result parse_options_step(struct parse_opt_ctx_t *ctx,
                }
 
                if (internal_help && !strcmp(arg + 2, "help-all"))
-                       return usage_with_options_internal(ctx, usagestr, options, 1, 0);
+                       return usage_with_options_internal(ctx, usagestr, options,
+                                                          USAGE_FULL, USAGE_TO_STDOUT);
                if (internal_help && !strcmp(arg + 2, "help"))
                        goto show_usage;
                switch (parse_long_opt(ctx, arg + 2, options)) {
@@ -1129,7 +1136,8 @@ unknown:
        return PARSE_OPT_DONE;
 
  show_usage:
-       return usage_with_options_internal(ctx, usagestr, options, 0, 0);
+       return usage_with_options_internal(ctx, usagestr, options,
+                                          USAGE_NORMAL, USAGE_TO_STDOUT);
 }
 
 int parse_options_end(struct parse_opt_ctx_t *ctx)
@@ -1444,7 +1452,8 @@ static enum parse_opt_result usage_with_options_internal(struct parse_opt_ctx_t
 void NORETURN usage_with_options(const char * const *usagestr,
                        const struct option *opts)
 {
-       usage_with_options_internal(NULL, usagestr, opts, 0, 1);
+       usage_with_options_internal(NULL, usagestr, opts,
+                                   USAGE_NORMAL, USAGE_TO_STDERR);
        exit(129);
 }
 
@@ -1453,7 +1462,8 @@ void show_usage_with_options_if_asked(int ac, const char **av,
                                      const struct option *opts)
 {
        if (ac == 2 && !strcmp(av[1], "-h")) {
-               usage_with_options_internal(NULL, usagestr, opts, 0, 0);
+               usage_with_options_internal(NULL, usagestr, opts,
+                                           USAGE_NORMAL, USAGE_TO_STDOUT);
                exit(129);
        }
 }