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_4_4~15 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a4ae6934eaf1a60d01e5f22b558d3d8ff2dd456c;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 16313565..a33e3f3b 100644 --- a/cord/cordprnt.c +++ b/cord/cordprnt.c @@ -276,7 +276,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; @@ -324,14 +325,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;