summaryrefslogtreecommitdiffstats
path: root/src/utils/include/debugobj.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/include/debugobj.h')
-rw-r--r--src/utils/include/debugobj.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/utils/include/debugobj.h b/src/utils/include/debugobj.h
new file mode 100644
index 0000000..73b70b8
--- /dev/null
+++ b/src/utils/include/debugobj.h
@@ -0,0 +1,22 @@
+#ifndef UTIL_LINUX_DEBUGOBJ_H
+#define UTIL_LINUX_DEBUGOBJ_H
+
+/*
+ * Include *after* debug.h and after UL_DEBUG_CURRENT_MASK define.
+ */
+
+static inline void __attribute__ ((__format__ (__printf__, 2, 3)))
+ul_debugobj(const void *handler, const char *mesg, ...)
+{
+ va_list ap;
+
+ if (handler && !(UL_DEBUG_CURRENT_MASK & __UL_DEBUG_FL_NOADDR))
+ fprintf(stderr, "[%p]: ", handler);
+
+ va_start(ap, mesg);
+ vfprintf(stderr, mesg, ap);
+ va_end(ap);
+ fputc('\n', stderr);
+}
+
+#endif /* UTIL_LINUX_DEBUGOBJ_H */