parse-options: refactor flags for usage_with_options_internal
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>main
							parent
							
								
									5119721fe1
								
							
						
					
					
						commit
						fe54b9ef02
					
				|  | @ -953,10 +953,16 @@ static void free_preprocessed_options(struct option *options) | ||||||
| 	free(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 *, | static enum parse_opt_result usage_with_options_internal(struct parse_opt_ctx_t *, | ||||||
| 							 const char * const *, | 							 const char * const *, | ||||||
| 							 const struct option *, | 							 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, | enum parse_opt_result parse_options_step(struct parse_opt_ctx_t *ctx, | ||||||
| 					 const struct option *options, | 					 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")) | 		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")) | 		if (internal_help && !strcmp(arg + 2, "help")) | ||||||
| 			goto show_usage; | 			goto show_usage; | ||||||
| 		switch (parse_long_opt(ctx, arg + 2, options)) { | 		switch (parse_long_opt(ctx, arg + 2, options)) { | ||||||
|  | @ -1129,7 +1136,8 @@ unknown: | ||||||
| 	return PARSE_OPT_DONE; | 	return PARSE_OPT_DONE; | ||||||
|  |  | ||||||
|  show_usage: |  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) | 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, | void NORETURN usage_with_options(const char * const *usagestr, | ||||||
| 			const struct option *opts) | 			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); | 	exit(129); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1453,7 +1462,8 @@ void show_usage_with_options_if_asked(int ac, const char **av, | ||||||
| 				      const struct option *opts) | 				      const struct option *opts) | ||||||
| { | { | ||||||
| 	if (ac == 2 && !strcmp(av[1], "-h")) { | 	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); | 		exit(129); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 D. Ben Knoble
						D. Ben Knoble