]> git.meshlink.io Git - meshlink/blobdiff - src/xalloc.h
Remove everything GPL that is not copyright Guus Sliepen, update copyright statements.
[meshlink] / src / xalloc.h
index 6629b60b9ce869d81a773531be6e1473e77edf81..4c3e741a929a32602ba086c6262e138f7c8d6f16 100644 (file)
@@ -1,7 +1,6 @@
 /*
    xalloc.h -- malloc and related fuctions 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>
+   Copyright (C) 2014 Guus Sliepen <guus@meshlink.io>
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -15,7 +14,8 @@
 
    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc., Foundation,
-   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.  */
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+*/
 
 #ifndef __TINC_XALLOC_H__
 #define __TINC_XALLOC_H__
@@ -52,9 +52,17 @@ static inline char *xstrdup(const char *s) {
 }
 
 static inline int xvasprintf(char **strp, const char *fmt, va_list ap) {
+#ifdef HAVE_MINGW
+       char buf[1024];
+       int result = vsnprintf(buf, sizeof buf, fmt, ap);
+       if(result < 0)
+               abort();
+       *strp = xstrdup(buf);
+#else
        int result = vasprintf(strp, fmt, ap);
        if(result < 0)
                abort();
+#endif
        return result;
 }