path: root/parse-options-cb.c
diff options
authorMichael Haggerty <>2016-09-05 09:44:52 (GMT)
committerJunio C Hamano <>2016-09-19 17:25:11 (GMT)
commitce564eb1bd541a87152e3546fb7d7a2b460df7ed (patch)
treec9036ec33eff913fffc97cff7dc985f5cd2a5e24 /parse-options-cb.c
parent433860f3d0beb0c6f205290bd16cda413148f098 (diff)
parse-options: add parse_opt_unknown_cb()
Add a new callback function, parse_opt_unknown_cb(), which returns -2 to indicate that the corresponding option is unknown. This can be used to add "-h" documentation for an option that will be handled externally to parse_options(). Signed-off-by: Michael Haggerty <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'parse-options-cb.c')
1 files changed, 12 insertions, 0 deletions
diff --git a/parse-options-cb.c b/parse-options-cb.c
index ba5acf3..9f2f9b3 100644
--- a/parse-options-cb.c
+++ b/parse-options-cb.c
@@ -154,6 +154,18 @@ int parse_opt_noop_cb(const struct option *opt, const char *arg, int unset)
+ * Report that the option is unknown, so that other code can handle
+ * it. This can be used as a callback together with
+ * OPTION_LOWLEVEL_CALLBACK to allow an option to be documented in the
+ * "-h" output even if it's not being handled directly by
+ * parse_options().
+ */
+int parse_opt_unknown_cb(const struct option *opt, const char *arg, int unset)
+ return -2;
* Recreates the command-line option in the strbuf.
static int recreate_opt(struct strbuf *sb, const struct option *opt,