summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/util.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/util.h b/src/util.h
index 600c638..2fe6e84 100644
--- a/src/util.h
+++ b/src/util.h
@@ -5,14 +5,21 @@
extern "C" {
#endif
-void lognotice(char const *fmt, ...);
-void logerror(char const *fmt, ...);
-void fatal(char const *fmt, ...);
+#ifdef __GNUC__
+#define ATTR_FORMAT(stringindex, firsttocheck) __attribute__((format(printf, stringindex, firsttocheck)))
+#else
+#define ATTR_FORMAT(stringindex, firsttocheck)
+#endif
+
+void lognotice(char const *fmt, ...) ATTR_FORMAT(1,2);
+void logerror(char const *fmt, ...) ATTR_FORMAT(1,2);
+void fatal(char const *fmt, ...) ATTR_FORMAT(1,2);
#ifdef DEBUG_OUTPUT
-void logdebug(char const *fmt, ...);
+void logdebug(char const *fmt, ...) ATTR_FORMAT(1,2);
#else
-inline void logdebug(char const *fmt, ...) {}
+static inline void logdebug(char const * fmt, ...) ATTR_FORMAT(1,2);
+static inline void logdebug(char const * fmt, ...) {}
#endif
#ifdef __cplusplus