summaryrefslogtreecommitdiffstats
path: root/contrib/file/src/vasprintf.c
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2014-12-11 19:27:27 +0000
committerdim <dim@FreeBSD.org>2014-12-11 19:27:27 +0000
commitda65ea02a341dd797c46b6987753bc1453982b36 (patch)
treed9a72217c1d2c4dcfef27a2fd2078dd4b3f69a64 /contrib/file/src/vasprintf.c
parent4cba228708753c1128b75a2c25c0dda582a9913a (diff)
parentdc1c036751105b0a801375ba642278a13543bf7c (diff)
downloadFreeBSD-src-da65ea02a341dd797c46b6987753bc1453982b36.zip
FreeBSD-src-da65ea02a341dd797c46b6987753bc1453982b36.tar.gz
Merge ^/head r275685 through r275714.
Diffstat (limited to 'contrib/file/src/vasprintf.c')
-rw-r--r--contrib/file/src/vasprintf.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/contrib/file/src/vasprintf.c b/contrib/file/src/vasprintf.c
index cc43ae3..7a18bed 100644
--- a/contrib/file/src/vasprintf.c
+++ b/contrib/file/src/vasprintf.c
@@ -108,7 +108,7 @@ you use strange formats.
#include "file.h"
#ifndef lint
-FILE_RCSID("@(#)$File: vasprintf.c,v 1.12 2014/05/14 23:09:21 christos Exp $")
+FILE_RCSID("@(#)$File: vasprintf.c,v 1.13 2014/12/04 15:56:46 christos Exp $")
#endif /* lint */
#include <assert.h>
@@ -633,11 +633,15 @@ int vasprintf(char **ptr, const char *format_string, va_list vargs)
#ifdef va_copy
va_copy (s.vargs, vargs);
#else
-#ifdef __va_copy
+# ifdef __va_copy
__va_copy (s.vargs, vargs);
-#else
+# else
+# ifdef WIN32
+ s.vargs = vargs;
+# else
memcpy (&s.vargs, &vargs, sizeof (s.va_args));
-#endif /* __va_copy */
+# endif /* WIN32 */
+# endif /* __va_copy */
#endif /* va_copy */
s.maxlen = (size_t)INT_MAX;
OpenPOWER on IntegriCloud