diff options
-rw-r--r-- | src/common/log.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/common/log.h b/src/common/log.h index 635b15dbd..0cf7c0dd6 100644 --- a/src/common/log.h +++ b/src/common/log.h @@ -9,11 +9,20 @@ #include <syslog.h> +/* magic to make GCC check for proper format strings. */ +#ifdef __GNUC__ +#define CHECK_PRINTF(formatIdx, firstArg) \ + __attribute__ ((format (printf, formatIdx, firstArg))) +#else +#define CHECK_PRINTF(formatIdx, firstArg) +#endif + /* Outputs a message to stdout and also logs the same message using syslog. */ -void log(int severity, const char *format, ...); +void log(int severity, const char *format, ...) CHECK_PRINTF(2,3); #ifdef __GNUC__ -void _log_fn(int severity, const char *funcname, const char *format, ...); +void _log_fn(int severity, const char *funcname, const char *format, ...) + CHECK_PRINTF(3,4); #define log_fn(severity, args...) \ _log_fn(severity, __PRETTY_FUNCTION__, args) #else |