From 451bb210f81c10b60bf90403c9183be26beaaabf Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Mon, 2 Feb 2009 06:12:58 +0100 Subject: [PATCH] parse-options: add new function "usage_msg_opt" This function can be used instead of "usage_with_options" when you want to print an error message before the usage string. It may be useful because: if (condition) usage_msg_opt("condition is false", usage, opts); is shorter than: if (condition) { fprintf(stderr, "condition is false\n\n"); usage_with_options(usage, opts); } and may be more consistent. Signed-off-by: Christian Couder Signed-off-by: Junio C Hamano --- builtin-replace.c | 2 +- parse-options.c | 8 ++++++++ parse-options.h | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/builtin-replace.c b/builtin-replace.c index e3767b966..8220d6eb3 100644 --- a/builtin-replace.c +++ b/builtin-replace.c @@ -121,7 +121,7 @@ int cmd_replace(int argc, const char **argv, const char *prefix) OPT_END() }; - argc = parse_options(argc, argv, options, git_replace_usage, 0); + argc = parse_options(argc, argv, prefix, options, git_replace_usage, 0); if (list && delete) usage_with_options(git_replace_usage, options); diff --git a/parse-options.c b/parse-options.c index b85cab246..743f5bae4 100644 --- a/parse-options.c +++ b/parse-options.c @@ -555,6 +555,14 @@ void usage_with_options(const char * const *usagestr, exit(129); } +void usage_msg_opt(const char *msg, + const char * const *usagestr, + const struct option *options) +{ + fprintf(stderr, "%s\n\n", msg); + usage_with_options(usagestr, options); +} + int parse_options_usage(const char * const *usagestr, const struct option *opts) { diff --git a/parse-options.h b/parse-options.h index b374ade95..f0f885c67 100644 --- a/parse-options.h +++ b/parse-options.h @@ -132,6 +132,10 @@ extern int parse_options(int argc, const char **argv, const char *prefix, extern NORETURN void usage_with_options(const char * const *usagestr, const struct option *options); +extern NORETURN void usage_msg_opt(const char *msg, + const char * const *usagestr, + const struct option *options); + /*----- incremental advanced APIs -----*/ enum { -- 2.30.2