From a6eb863566d5aeb588203d6c8dec2177ea9a6b72 Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Thu, 18 Oct 2012 14:35:19 +0300 Subject: web: Make debug func print more useful information The file and function name are printed in debug prints. --- gweb/gweb.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'gweb') diff --git a/gweb/gweb.c b/gweb/gweb.c index 4c2f95c1..d35179ac 100644 --- a/gweb/gweb.c +++ b/gweb/gweb.c @@ -128,18 +128,26 @@ struct _GWeb { gpointer debug_data; }; -static inline void debug(GWeb *web, const char *format, ...) +#define debug(web, format, arg...) \ + _debug(web, __FILE__, __func__, format, ## arg) + +static void _debug(GWeb *web, const char *file, const char *caller, + const char *format, ...) { char str[256]; va_list ap; + int len; if (web->debug_func == NULL) return; va_start(ap, format); - if (vsnprintf(str, sizeof(str), format, ap) > 0) - web->debug_func(str, web->debug_data); + if ((len = snprintf(str, sizeof(str), "%s:%s() web %p ", + file, caller, web)) > 0) { + if (vsnprintf(str + len, sizeof(str) - len, format, ap) > 0) + web->debug_func(str, web->debug_data); + } va_end(ap); } -- cgit v1.2.3