diff options
author | Jukka Rissanen <jukka.rissanen@linux.intel.com> | 2012-10-18 14:35:19 +0300 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-10-19 10:26:29 +0300 |
commit | a6eb863566d5aeb588203d6c8dec2177ea9a6b72 (patch) | |
tree | c3f0b6fcf620d3a0f0db638df40f9b26e174666b /gweb/gweb.c | |
parent | dcce19f15b225cc98341cd84f3d70d20b34a5406 (diff) | |
download | connman-a6eb863566d5aeb588203d6c8dec2177ea9a6b72.tar.gz connman-a6eb863566d5aeb588203d6c8dec2177ea9a6b72.tar.bz2 connman-a6eb863566d5aeb588203d6c8dec2177ea9a6b72.zip |
web: Make debug func print more useful information
The file and function name are printed in debug prints.
Diffstat (limited to 'gweb/gweb.c')
-rw-r--r-- | gweb/gweb.c | 14 |
1 files changed, 11 insertions, 3 deletions
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); } |