From: Ivan Maidanski Date: Sun, 22 Jun 2014 16:49:01 +0000 (+0400) Subject: Fix vsprintf_args initialization/cleanup in CORD_vsprintf for EMX X-Git-Tag: gc7_6_0~219 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6c5a455c722172f0defcfb77aa28b2709a191e7c;p=gc Fix vsprintf_args initialization/cleanup in CORD_vsprintf for EMX * cord/cordprnt.c (CORD_vsprintf): Do not use va_copy and va_end if EMX (as the primitives are missing). --- diff --git a/cord/cordprnt.c b/cord/cordprnt.c index 94c49be8..7e7745b1 100644 --- a/cord/cordprnt.c +++ b/cord/cordprnt.c @@ -267,7 +267,8 @@ int CORD_vsprintf(CORD * out, CORD format, va_list args) # ifdef __va_copy __va_copy(vsprintf_args, args); # else -# if defined(__GNUC__) && !defined(__DJGPP__) /* and probably in other cases */ +# if defined(__GNUC__) && !defined(__DJGPP__) \ + && !defined(__EMX__) /* and probably in other cases */ va_copy(vsprintf_args, args); # else vsprintf_args = args; @@ -314,14 +315,16 @@ int CORD_vsprintf(CORD * out, CORD format, va_list args) break; default: # if defined(__va_copy) \ - || (defined(__GNUC__) && !defined(__DJGPP__)) + || (defined(__GNUC__) && !defined(__DJGPP__) \ + && !defined(__EMX__)) va_end(vsprintf_args); # endif return(-1); } res = vsprintf(buf, conv_spec, vsprintf_args); # if defined(__va_copy) \ - || (defined(__GNUC__) && !defined(__DJGPP__)) + || (defined(__GNUC__) && !defined(__DJGPP__) \ + && !defined(__EMX__)) va_end(vsprintf_args); # endif len = (size_t)res;