From: Carl Worth Date: Sat, 23 Feb 2008 19:31:46 +0000 (-0800) Subject: Add printf-like format checking X-Git-Url: https://git.cworth.org/git?p=loudgame;a=commitdiff_plain;h=f154fbe59bd9318c58608858637731f601da1dfb Add printf-like format checking --- diff --git a/loudgame.h b/loudgame.h index 08f4b49..359ecfd 100644 --- a/loudgame.h +++ b/loudgame.h @@ -23,6 +23,13 @@ #include #include +#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, @@ -63,13 +70,13 @@ void 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, @@ -78,12 +85,12 @@ 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);