wayland: do not special-case ~display for DEBUG_OUTPUT
[staging/windowmanager.git] / src / util.h
index 600c638..2fe6e84 100644 (file)
@@ -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