#ifndef WM_UTIL_H
#define WM_UTIL_H

#ifdef __cplusplus
extern "C" {
#endif

#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, ...) ATTR_FORMAT(1,2);
#else
static inline void logdebug(char const * fmt, ...) ATTR_FORMAT(1,2);
static inline void logdebug(char const * fmt, ...) {}
#endif

#ifdef __cplusplus
}
#endif

#endif // !WM_UTIL_H