From 8aead913d6a8285c2949f93147efaec5f7b357d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20=27Morty=27=20Str=C3=BCbe?= Date: Sat, 21 Mar 2020 15:13:38 +0100 Subject: Add printf-Checks to message.h --- src/message.h | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/message.h b/src/message.h index 7b12ba8..5f8c9db 100644 --- a/src/message.h +++ b/src/message.h @@ -21,17 +21,26 @@ #include #include -extern void msg(const char *fmt, ...); -extern void warn(const char *file,int line,const char *fmt, ...); -extern void va_warn(const char *file,int line,const char *fmt, va_list args); +#ifdef __GNUC__ +#define PRINTFLIKE(FORMAT, PARAM ) __attribute__((format(printf, FORMAT, PARAM))) +#else +#define PRINTFLIKE(FORMAT, PARAM ) +#endif + +extern void msg(const char *fmt, ...) PRINTFLIKE(1,2); +extern void warn(const char *file,int line,const char *fmt, ...) PRINTFLIKE(3, 4); +extern void va_warn(const char* file, int line, const char* fmt, va_list args); extern void warn_simple(const char *file,int line,const char *text); -extern void warn_undoc(const char *file,int line,const char *fmt, ...); -extern void warn_doc_error(const char *file,int line,const char *fmt, ...); -extern void warn_uncond(const char *fmt, ...); -extern void err(const char *fmt, ...); -extern void err_full(const char *file,int line,const char *fmt, ...); -extern void term(const char *fmt, ...); +extern void warn_undoc(const char *file,int line,const char *fmt, ...) PRINTFLIKE(3, 4); +extern void warn_doc_error(const char *file,int line,const char *fmt, ...) PRINTFLIKE(3, 4); +extern void warn_uncond(const char *fmt, ...) PRINTFLIKE(1, 2); +extern void err(const char *fmt, ...) PRINTFLIKE(1, 2); +extern void err_full(const char *file,int line,const char *fmt, ...) PRINTFLIKE(3, 4); +extern void term(const char *fmt, ...) PRINTFLIKE(1, 2); void initWarningFormat(); extern void printlex(int dbg, bool enter, const char *lexName, const char *fileName); + +#undef PRINTFLIKE + #endif -- cgit v0.12