--- print.c.orig +++ print.c @@ -273,15 +273,10 @@ va_list saveargs = format->args; #endif - VA_START(format->args, fmt); n += printfmt(format, fmt); va_end(format->args); -#ifndef __va_copy - format->args = saveargs; -#else - __va_copy(format->args, saveargs); -#endif + va_copy(format->args, saveargs); return n + format->flushed; } --- stdenv.h.orig +++ stdenv.h @@ -204,6 +204,11 @@ #define VARARGS2(t1, v1, t2, v2) (v1, v2, va_alist) t1 v1; t2 v2; va_dcl #define VA_START(ap, var) va_start(ap) +/* __va_* are defined by the compiler */ +#define va_start(ap) __va_start(ap) +#define va_copy(dest, src) __va_copy(dest, src) +#define va_end(ap) __va_end(ap) + #endif