From 34e15dbd7a2226de417fe60c69de777667b8d6af Mon Sep 17 00:00:00 2001 From: okan Date: Fri, 2 Feb 2018 13:40:55 +0000 Subject: Add a simple debug logging mechanism. --- util.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'util.c') diff --git a/util.c b/util.c index 3c35f33..e6e8443 100644 --- a/util.c +++ b/util.c @@ -31,6 +31,8 @@ #include "calmwm.h" +static void log_msg(const char *, va_list); + void u_spawn(char *argstr) { @@ -104,3 +106,31 @@ u_argv(char * const *argv) } return(p); } + +static void +log_msg(const char *msg, va_list ap) +{ + char *fmt; + + if (asprintf(&fmt, "%s\n", msg) == -1) { + vfprintf(stderr, msg, ap); + fprintf(stderr, "\n"); + } else { + vfprintf(stderr, fmt, ap); + free(fmt); + } + fflush(stderr); +} + +void +log_debug(const char *func, const char *msg, ...) +{ + char *fmt; + va_list ap; + + va_start(ap, msg); + if (asprintf(&fmt, "%s: %s", func, msg) == -1) + exit(1); + log_msg(fmt, ap); + va_end(ap); +} -- cgit 1.4.1