From 291803b886fdbe2ff49dd248c19f38b3d7b68524 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Mon, 22 Apr 2024 23:27:07 +0200 Subject: Add usage() --- lib/errors/usage.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 lib/errors/usage.c (limited to 'lib') diff --git a/lib/errors/usage.c b/lib/errors/usage.c new file mode 100644 index 0000000..50ca04f --- /dev/null +++ b/lib/errors/usage.c @@ -0,0 +1,26 @@ +#include +#include +#include + +#include "errors.h" +#include "macros.h" + +void +(usage)(const char *s, ...) +{ + ASSUME(s != nullptr); + ASSUME(mlib_progname() != nullptr); + + va_list ap; + va_start(ap, s); + + fprintf(stderr, "Usage: %s %s\n", mlib_progname(), s); + + while ((s = va_arg(ap, char *)) != nullptr) { + for (size_t i = 0; i < lengthof("Usage: ") - 1; i++) + fputc(' ', stderr); + fprintf(stderr, "%s %s\n", mlib_progname(), s); + } + + va_end(ap); +} -- cgit v1.2.3