X-Git-Url: https://git.cworth.org/git?p=loudgame;a=blobdiff_plain;f=loudgame.h;h=359ecfdd7287f78c38bf32c497e12ce583e0674c;hp=c899727eb0a5220a29145f1613b827695b02a346;hb=HEAD;hpb=84366ba467d765ba7a14084b8b8c49fb1c61ab07 diff --git a/loudgame.h b/loudgame.h index c899727..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, @@ -44,6 +51,10 @@ struct _loudgame { handle_message_cb handle_message; }; +#define LOUDGAME_HELP \ +"\tsay message \t\tSay 'message' to everyone in the current game\n" \ +"\twhisper user message\tSay 'message' to 'user' only\n" + int loudgame_init (loudgame_t *lg, int argc, char **argv); @@ -59,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, @@ -74,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);