$OpenBSD: patch-src_xmlrpc_builddecomp_c,v 1.2 2008/03/15 10:35:54 ajacoutot Exp $ --- src/xmlrpc_builddecomp.c.orig Thu Mar 23 00:48:31 2006 +++ src/xmlrpc_builddecomp.c Wed Jan 16 14:20:18 2008 @@ -26,11 +26,15 @@ typedef double va_double; ** tricky fashions. We don't why Python does this, but since we're ** abusing our va_list objects in a similar fashion, we'll copy them ** too. */ +#if defined(va_copy) +#define VA_LIST_COPY(dest, src) va_copy(dest, src) +#else #if VA_LIST_IS_ARRAY #define VA_LIST_COPY(dest,src) memcpy((dest), (src), sizeof(va_list)) #else #define VA_LIST_COPY(dest,src) ((dest) = (src)) #endif +#endif /*========================================================================= ** Creating XML-RPC values. @@ -460,6 +464,7 @@ xmlrpc_build_value_va(xmlrpc_env * const envP, if (!envP->fault_occurred) XMLRPC_ASSERT_VALUE_OK(*valPP); + va_end(args_copy); *tailP = formatCursor; } @@ -887,6 +892,7 @@ xmlrpc_decompose_value_va(xmlrpc_env * const envP, if (!envP->fault_occurred) { XMLRPC_ASSERT(*format_copy == '\0'); } + va_end(args_copy); } @@ -925,6 +931,7 @@ xmlrpc_parse_value_va(xmlrpc_env * const envP, if (!envP->fault_occurred) { XMLRPC_ASSERT(*format_copy == '\0'); } + va_end(args_copy); }