]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Fix dprintf compat.
authorRoy Marples <roy@marples.name>
Wed, 18 Mar 2015 00:01:03 +0000 (00:01 +0000)
committerRoy Marples <roy@marples.name>
Wed, 18 Mar 2015 00:01:03 +0000 (00:01 +0000)
compat/dprintf.c
compat/dprintf.h

index adcfdbcf9d652cf48ccad3dcb74dfa4ece3eefe3..33748d063cac19672839779fc7c270bc7dee7985 100644 (file)
 #include "dprintf.h"
 
 int
-vdprintf(int fd, const char *fmt, va_list va)
+vdprintf(int fd, const char * __restrict fmt, va_list va)
 {
        int e;
        FILE *fp;
-       va_list va;
 
        if ((e = dup(fd)) == -1)
                return -1;
@@ -53,9 +52,10 @@ vdprintf(int fd, const char *fmt, va_list va)
 }
 
 int
-dprintf(int fd, const char *fmt, ...)
+dprintf(int fd, const char * __restrict fmt, ...)
 {
        int e;
+       va_list va;
 
        va_start(va, fmt);
        e = vdprintf(fd, fmt, va);
index 14faaffe484a270bf16ba3c4c4d8626f150698e2..b8cd49717486a4c9524c02f56d68766a1fcfa395 100644 (file)
 #ifndef DPRINTF_H
 #define DPRINTF_H
 
-int dprintf(int, const char *, va_list);
-int dprintf(int, const char *, ...);
+#include <stdarg.h>
+
+#ifndef __printflike
+# if __GNUC__ > 2 || defined(__INTEL_COMPILER)
+#  define __printflike(a, b) __attribute__((format(printf, a, b)))
+# else
+#  define __printflike(a, b)
+# endif
+#endif
+
+__printflike(2, 0) int vdprintf(int, const char * __restrict, va_list);
+__printflike(2, 3) int dprintf(int, const char * __restrict, ...);
 #endif