]> Kevux Git Server - rit/commitdiff
parse-options: add new function "usage_msg_opt"
authorChristian Couder <chriscool@tuxfamily.org>
Mon, 2 Feb 2009 05:12:58 +0000 (06:12 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 1 Jun 2009 00:03:40 +0000 (17:03 -0700)
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 <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-replace.c
parse-options.c
parse-options.h

index e3767b9..8220d6e 100644 (file)
@@ -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);
index b85cab2..743f5ba 100644 (file)
@@ -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)
 {
index b374ade..f0f885c 100644 (file)
@@ -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 {