From ec1ce068edb4cc0b222008b295b22c565e5339df Mon Sep 17 00:00:00 2001 From: Markus Teich Date: Sun, 12 Jun 2016 00:55:09 +0200 Subject: update util: logging and assertions --- util.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 util.c (limited to 'util.c') diff --git a/util.c b/util.c new file mode 100644 index 0000000..99d4c9b --- /dev/null +++ b/util.c @@ -0,0 +1,47 @@ + +#include +#include +#include +#include + +#include "util.h" + +static void xvprintf(const char *, va_list); + +void +eprintf(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + xvprintf(fmt, ap); + va_end(ap); + + abort(); +} + +void +weprintf(const char *fmt, ...) +{ + va_list ap; + + va_start(ap, fmt); + xvprintf(fmt, ap); + va_end(ap); +} + +void +xvprintf(const char *fmt, va_list ap) +{ + /**TODO: provide other logging target than stderr */ + fputs("libbrandt: ", stderr); + + vfprintf(stderr, fmt, ap); + + if (fmt[0] && fmt[strlen(fmt)-1] == ':') { + fputc(' ', stderr); + perror(NULL); + } else { + fputc('\n', stderr); + } +} -- cgit v1.2.3