diff options
| -rw-r--r-- | ConfigureChecks.cmake | 8 | ||||
| -rw-r--r-- | config.h.cmake | 1 | ||||
| -rw-r--r-- | src/socket_wrapper.c | 4 |
3 files changed, 11 insertions, 2 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index dd3fdb8..5b4813b 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -169,6 +169,14 @@ int main(void) { return 0; }" HAVE_GCC_THREAD_LOCAL_STORAGE) +check_c_source_compiles(" +void log_fn(const char *format, ...) __attribute__ ((format (printf, 1, 2))); + +int main(void) { + return 0; +}" HAVE_FUNCTION_ATTRIBUTE_FORMAT) + + check_library_exists(dl dlopen "" HAVE_LIBDL) if (HAVE_LIBDL) find_library(DLFCN_LIBRARY dl) diff --git a/config.h.cmake b/config.h.cmake index 3def5e7..81a6c85 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -36,6 +36,7 @@ #cmakedefine HAVE_DESTRUCTOR_ATTRIBUTE 1 #cmakedefine HAVE_SOCKADDR_STORAGE 1 #cmakedefine HAVE_IPV6 1 +#cmakedefine HAVE_FUNCTION_ATTRIBUTE_FORMAT 1 #cmakedefine HAVE_APPLE 1 #cmakedefine HAVE_LIBSOCKET 1 diff --git a/src/socket_wrapper.c b/src/socket_wrapper.c index 4964ec1..f6e14b7 100644 --- a/src/socket_wrapper.c +++ b/src/socket_wrapper.c @@ -73,11 +73,11 @@ enum swrap_dbglvl_e { }; /* GCC have printf type attribute check. */ -#ifdef __GNUC__ +#ifdef HAVE_FUNCTION_ATTRIBUTE_FORMAT #define PRINTF_ATTRIBUTE(a,b) __attribute__ ((__format__ (__printf__, a, b))) #else #define PRINTF_ATTRIBUTE(a,b) -#endif /* __GNUC__ */ +#endif /* HAVE_FUNCTION_ATTRIBUTE_FORMAT */ #ifdef HAVE_DESTRUCTOR_ATTRIBUTE #define DESTRUCTOR_ATTRIBUTE __attribute__ ((destructor)) |
