diff options
author | delphij <delphij@FreeBSD.org> | 2014-12-11 06:00:53 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2014-12-11 06:00:53 +0000 |
commit | 2e5be0fdd11aef0d2cb0d88c71946b953019f313 (patch) | |
tree | b244166ac6ad22aa3a3644030c1820586c4b9fc6 /src/vasprintf.c | |
parent | 7893a3c5449c71b45d7eadfe0af1d36c4b36103d (diff) | |
download | FreeBSD-src-2e5be0fdd11aef0d2cb0d88c71946b953019f313.zip FreeBSD-src-2e5be0fdd11aef0d2cb0d88c71946b953019f313.tar.gz |
Vendor import of file 5.21.
Diffstat (limited to 'src/vasprintf.c')
-rw-r--r-- | src/vasprintf.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/vasprintf.c b/src/vasprintf.c index cc43ae3..7a18bed 100644 --- a/src/vasprintf.c +++ b/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; |