X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Fopt%2Fusage.c;h=26150ea8cd409e6c84d5a33067fd15932bccb4dc;hb=319dadd4fa7af3f75b15bcb4f33b33f65d87a523;hp=3edc4cf87ade8c8158eed5f01f9500944ae7c264;hpb=8071ba125bb6893b88c02353638eeac220cb99c1;p=ccan diff --git a/ccan/opt/usage.c b/ccan/opt/usage.c index 3edc4cf8..26150ea8 100644 --- a/ccan/opt/usage.c +++ b/ccan/opt/usage.c @@ -1,4 +1,4 @@ -/* Licensed under GPLv3+ - see LICENSE file for details */ +/* Licensed under GPLv2+ - see LICENSE file for details */ #include #if HAVE_SYS_TERMIOS_H #include @@ -9,6 +9,7 @@ #include #include #include +#include #include "private.h" /* We only use this for pointer comparisons. */ @@ -227,3 +228,17 @@ char *opt_usage(const char *argv0, const char *extra) ret[len] = '\0'; return ret; } + +void opt_usage_exit_fail(const char *msg, ...) +{ + va_list ap; + + if (opt_argv0) + fprintf(stderr, "%s: ", opt_argv0); + va_start(ap, msg); + vfprintf(stderr, msg, ap); + va_end(ap); + fprintf(stderr, "\n%s", + opt_usage(opt_argv0 ? opt_argv0 : "", NULL)); + exit(1); +}