]> git.ozlabs.org Git - ccan/blobdiff - ccan/opt/opt.h
opt: add opt_usage_exit_fail.
[ccan] / ccan / opt / opt.h
index 727dacd0f148594a87c1b465c8180438b778a349..690907e595eff6922690204eb4c76a6be3e59d8c 100644 (file)
@@ -372,6 +372,22 @@ char *opt_invalid_argument(const char *arg);
  */
 char *opt_usage(const char *argv0, const char *extra);
 
+/**
+ * opt_usage_exit_fail - complain about bad usage to stderr, exit with status 1.
+ * @msg...: printf-style message to output.
+ *
+ * This prints argv[0] (if opt_parse has been called), a colon, then
+ * the message to stderr (just like errx()).  Then it prints out the
+ * usage message, taken from any registered option which uses
+ * opt_usage_and_exit() as described in opt_usage(argv0, NULL) above.
+ * Then it exits with status 1.
+ *
+ * Example:
+ *     if (argc != 5)
+ *             opt_usage_exit_fail("Need 5 arguments, only got %u", argc);
+ */
+void opt_usage_exit_fail(const char *msg, ...) NORETURN;
+
 /**
  * opt_hidden - string for undocumented options.
  *