diff options
author | Ævar Arnfjörð Bjarmason <avarab@gmail.com> | 2021-12-28 13:28:43 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-12-30 21:05:28 (GMT) |
commit | fa476be8f0963d4dd512eaf8ee23b3cd3986a500 (patch) | |
tree | 07cc46c2a071ee0f0b4354920494227054af0666 /parse-options.h | |
parent | 68c69f90c8e98b305d9effd1d25f6261a30b8e50 (diff) | |
download | git-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.h | 10 |
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" |