#include <stdarg.h>
#include <loudmouth/loudmouth.h>
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
+#define LOUDGAME_PRINTF_FORMAT(fmt_index, va_index) \
+ __attribute__((__format__(__printf__, fmt_index, va_index)))
+#else
+#define LOUDGAME_PRINTF_FORMAT(fmt_index, va_index)
+#endif
+
typedef struct _loudgame loudgame_t;
typedef void (*handle_message_cb) (loudgame_t *lg,
loudgame_sendf (loudgame_t *lg,
const char *peer,
const char *format,
- ...);
+ ...) LOUDGAME_PRINTF_FORMAT (3, 4);
void
loudgame_vsendf (loudgame_t *lg,
const char *peer,
const char *format,
- va_list va);
+ va_list va) LOUDGAME_PRINTF_FORMAT (3, 0);
void
loudgame_broadcast (loudgame_t *lg,
void
loudgame_vbroadcastf (loudgame_t *lg,
const char *format,
- va_list va);
+ va_list va) LOUDGAME_PRINTF_FORMAT (2, 0);
void
loudgame_broadcastf (loudgame_t *lg,
const char *format,
- ...);
+ ...) LOUDGAME_PRINTF_FORMAT (2, 3);
void
loudgame_quit (loudgame_t *lg, int return_value);