This time using va_copy() on platforms that have it and simple assignment on platforms that don't.
This seems to be the only reasonable C++03-only solution.