Disable function attributes on unsupported compilers
[tinc] / src / xalloc.h
index 493af5c..96b9592 100644 (file)
@@ -2,7 +2,7 @@
 #define TINC_XALLOC_H
 
 /*
-   xalloc.h -- malloc and related fuctions with out of memory checking
+   xalloc.h -- malloc and related functions with out of memory checking
    Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
    Copyright (C) 2011-2013 Guus Sliepen <guus@tinc-vpn.org>
 
@@ -21,7 +21,9 @@
    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
 
-static inline void *xmalloc(size_t n) __attribute__((__malloc__));
+#include "system.h"
+
+static inline void *xmalloc(size_t n) ATTR_MALLOC;
 static inline void *xmalloc(size_t n) {
        void *p = malloc(n);
 
@@ -32,7 +34,7 @@ static inline void *xmalloc(size_t n) {
        return p;
 }
 
-static inline void *xzalloc(size_t n) __attribute__((__malloc__));
+static inline void *xzalloc(size_t n) ATTR_MALLOC;
 static inline void *xzalloc(size_t n) {
        void *p = calloc(1, n);
 
@@ -53,7 +55,7 @@ static inline void *xrealloc(void *p, size_t n) {
        return p;
 }
 
-static inline char *xstrdup(const char *s) __attribute__((__malloc__));
+static inline char *xstrdup(const char *s) ATTR_MALLOC ATTR_NONNULL;
 static inline char *xstrdup(const char *s) {
        char *p = strdup(s);
 
@@ -65,7 +67,7 @@ static inline char *xstrdup(const char *s) {
 }
 
 static inline int xvasprintf(char **strp, const char *fmt, va_list ap) {
-#ifdef HAVE_MINGW
+#ifdef HAVE_WINDOWS
        char buf[1024];
        int result = vsnprintf(buf, sizeof(buf), fmt, ap);
 
@@ -85,7 +87,7 @@ static inline int xvasprintf(char **strp, const char *fmt, va_list ap) {
        return result;
 }
 
-static inline int xasprintf(char **strp, const char *fmt, ...) __attribute__((__format__(printf, 2, 3)));
+static inline int xasprintf(char **strp, const char *fmt, ...) ATTR_FORMAT(printf, 2, 3);
 static inline int xasprintf(char **strp, const char *fmt, ...) {
        va_list ap;
        va_start(ap, fmt);