From 6e6b5588f4710ac5356e28b2b4a81e0060a285d0 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 5 Oct 2016 18:34:36 +0200 Subject: [PATCH] add printf checking --- spa/include/spa/defs.h | 6 ++++++ spa/include/spa/log.h | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/spa/include/spa/defs.h b/spa/include/spa/defs.h index 14632ee8b..69f547fe8 100644 --- a/spa/include/spa/defs.h +++ b/spa/include/spa/defs.h @@ -107,6 +107,12 @@ typedef void (*SpaNotify) (void *data); #define SPA_TIMESPEC_TO_TIME(ts) ((ts)->tv_sec * SPA_NSEC_PER_SEC + (ts)->tv_nsec) #define SPA_TIMEVAL_TO_TIME(tv) ((tv)->tv_sec * SPA_NSEC_PER_SEC + (tv)->tv_usec * 1000ll) +#ifdef __GNUC__ +# define SPA_PRINTF_FUNC(fmt, arg1) __attribute__((format(printf, fmt, arg1))) +#else +# define SPA_PRINTF_FUNC(fmt, arg1) +#endif + #ifdef __cplusplus } /* extern "C" */ diff --git a/spa/include/spa/log.h b/spa/include/spa/log.h index 5dc5573a1..95d1ea595 100644 --- a/spa/include/spa/log.h +++ b/spa/include/spa/log.h @@ -87,7 +87,7 @@ struct _SpaLog { const char *file, int line, const char *func, - const char *fmt, ...); + const char *fmt, ...) SPA_PRINTF_FUNC(6, 7); /** * SpaLog::logv @@ -107,7 +107,7 @@ struct _SpaLog { int line, const char *func, const char *fmt, - va_list args); + va_list args) SPA_PRINTF_FUNC(6, 0); }; #if __STDC_VERSION__ >= 199901L