summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2014-07-31 10:18:13 +0200
committerMichael Adam <obnox@samba.org>2014-07-31 18:49:47 +0200
commit6bbf9fa6df11dd60e6a808cf2e81b88c4e211a90 (patch)
tree6a1a04142200dec5cf4e72f41ba0db66a8c09d2c /lib
parent9711f77313e6d72696b0807acfea5d41ff89dfa7 (diff)
downloadsamba-6bbf9fa6df11dd60e6a808cf2e81b88c4e211a90.tar.gz
uwrap: Check for HAVE_FUNCTION_ATTRIBUTE_FORMAT.
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/uid_wrapper/uid_wrapper.c7
-rw-r--r--lib/uid_wrapper/wscript12
2 files changed, 19 insertions, 0 deletions
diff --git a/lib/uid_wrapper/uid_wrapper.c b/lib/uid_wrapper/uid_wrapper.c
index e9c7d5a94ea..2b8723840a0 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 63be4734fa2..3e73e839b1c 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'