summaryrefslogtreecommitdiff
path: root/parse-options.h
diff options
context:
space:
mode:
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>2021-12-28 13:28:43 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-12-30 21:05:28 (GMT)
commitfa476be8f0963d4dd512eaf8ee23b3cd3986a500 (patch)
tree07cc46c2a071ee0f0b4354920494227054af0666 /parse-options.h
parent68c69f90c8e98b305d9effd1d25f6261a30b8e50 (diff)
downloadgit-fa476be8f0963d4dd512eaf8ee23b3cd3986a500.zip
git-fa476be8f0963d4dd512eaf8ee23b3cd3986a500.tar.gz
git-fa476be8f0963d4dd512eaf8ee23b3cd3986a500.tar.bz2
parse-options API: add a usage_msg_optf()
Add a usage_msg_optf() as a shorthand for the sort of usage_msg_opt(xstrfmt(...)) used in builtin/stash.c. I'll make more use of this function in builtin/cat-file.c shortly. The disconnect between the "..." and "fmt" is a bit unusual, but it works just fine and this keeps it consistent with usage_msg_opt(), i.e. a caller of it can be moved to usage_msg_optf() and not have to have its arguments re-arranged. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'parse-options.h')
-rw-r--r--parse-options.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/parse-options.h b/parse-options.h
index 275fb44..4a9fa8a 100644
--- a/parse-options.h
+++ b/parse-options.h
@@ -225,6 +225,16 @@ NORETURN void usage_msg_opt(const char *msg,
const char * const *usagestr,
const struct option *options);
+/**
+ * usage_msg_optf() is like usage_msg_opt() except that the first
+ * argument is a format string, and optional format arguments follow
+ * after the 3rd option.
+ */
+__attribute__((format (printf,1,4)))
+void NORETURN usage_msg_optf(const char *fmt,
+ const char * const *usagestr,
+ const struct option *options, ...);
+
/*
* Use these assertions for callbacks that expect to be called with NONEG and
* NOARG respectively, and do not otherwise handle the "unset" and "arg"