From 6bbf9fa6df11dd60e6a808cf2e81b88c4e211a90 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Thu, 31 Jul 2014 10:18:13 +0200 Subject: uwrap: Check for HAVE_FUNCTION_ATTRIBUTE_FORMAT. Signed-off-by: Andreas Schneider Reviewed-by: Michael Adam --- lib/uid_wrapper/uid_wrapper.c | 7 +++++++ lib/uid_wrapper/wscript | 12 ++++++++++++ 2 files changed, 19 insertions(+) (limited to 'lib/uid_wrapper') diff --git a/lib/uid_wrapper/uid_wrapper.c b/lib/uid_wrapper/uid_wrapper.c index e9c7d5a94e..2b8723840a 100644 --- a/lib/uid_wrapper/uid_wrapper.c +++ b/lib/uid_wrapper/uid_wrapper.c @@ -49,6 +49,13 @@ #define DESTRUCTOR_ATTRIBUTE #endif /* HAVE_DESTRUCTOR_ATTRIBUTE */ +/* GCC have printf type attribute check. */ +#ifdef HAVE_FUNCTION_ATTRIBUTE_FORMAT +#define PRINTF_ATTRIBUTE(a,b) __attribute__ ((__format__ (__printf__, a, b))) +#else +#define PRINTF_ATTRIBUTE(a,b) +#endif /* HAVE_FUNCTION_ATTRIBUTE_FORMAT */ + #ifdef NDEBUG #define UWRAP_DEBUG(...) #else diff --git a/lib/uid_wrapper/wscript b/lib/uid_wrapper/wscript index 63be4734fa..3e73e839b1 100644 --- a/lib/uid_wrapper/wscript +++ b/lib/uid_wrapper/wscript @@ -38,6 +38,18 @@ def configure(conf): addmain=False, msg='Checking for library destructor support') + # check HAVE_FUNCTION_ATTRIBUTE_FORMAT + conf.CHECK_CODE(''' + void log_fn(const char *format, ...) __attribute__ ((format (printf, 1, 2))); + + int main(void) { + return 0; + } + ''', + 'HAVE_FUNCTION_ATTRIBUTE_FORMAT', + addmain=False, + msg='Checking for printf format validation support') + # Create full path to uid_wrapper srcdir = os.path.realpath(conf.srcdir) libuid_wrapper_so_path = srcdir + '/bin/default/lib/uid_wrapper/libuid-wrapper.so' -- cgit