]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Allow format string checking with GCC. 6/head
authorJoerg Sonnenberger <joerg@bec.de>
Tue, 28 Feb 2012 15:48:01 +0000 (16:48 +0100)
committerJoerg Sonnenberger <joerg@bec.de>
Tue, 28 Feb 2012 15:48:01 +0000 (16:48 +0100)
libarchive_fe/err.c
libarchive_fe/err.h

index eb3f9f3eb5e10ed585a1b89a191d58d7e34100fa..a0173983a39cd437e3c3fff7bf8df7726b65ff18 100644 (file)
@@ -40,6 +40,8 @@ __FBSDID("$FreeBSD$");
 
 #include "err.h"
 
+static void lafe_vwarnc(int, const char *, va_list) __LA_PRINTFLIKE(2, 0);
+
 const char *lafe_progname;
 
 static void
index dd79448139166b658e5e7625f1441bd6581961c4..ca1af35630e2562222e1172e0fe653f6d34eda49 100644 (file)
 #define __LA_DEAD
 #endif
 
+#if defined(__GNUC__) && (__GNUC__ > 2 || \
+                         (__GNUC__ == 2 && __GNUC_MINOR__ >= 7))
+#define        __LA_PRINTFLIKE(f,a)    __attribute__((__format__(__printf__, f, a)))
+#else
+#define        __LA_PRINTFLIKE(f,a)
+#endif
+
 extern const char *lafe_progname;
 
-void   lafe_warnc(int code, const char *fmt, ...);
-void   lafe_errc(int eval, int code, const char *fmt, ...) __LA_DEAD;
+void   lafe_warnc(int code, const char *fmt, ...) __LA_PRINTFLIKE(2, 3);
+void   lafe_errc(int eval, int code, const char *fmt, ...) __LA_DEAD
+                 __LA_PRINTFLIKE(3, 4);
 
 #endif