#ifdef VA_LIST_IS_ARRAY
memcpy(countva, va, sizeof(va_list));
+#else
+#ifdef __va_copy
+ __va_copy(countva, va);
#else
countva = va;
+#endif
#endif
while (((PyObject *)va_arg(countva, PyObject *)) != NULL)
#ifdef VA_LIST_IS_ARRAY
memcpy(count, vargs, sizeof(va_list));
+#else
+#ifdef __va_copy
+ __va_copy(count, vargs);
#else
count = vargs;
+#endif
#endif
/* step 1: figure out how large a buffer we need */
for (f = format; *f; f++) {
#ifdef VA_LIST_IS_ARRAY
memcpy(lva, va, sizeof(va_list));
+#else
+#ifdef __va_copy
+ __va_copy(lva, va);
#else
lva = va;
+#endif
#endif
return vgetargs1(args, format, &lva, 0);
#ifdef VA_LIST_IS_ARRAY
memcpy(lva, va, sizeof(va_list));
+#else
+#ifdef __va_copy
+ __va_copy(lva, va);
#else
lva = va;
+#endif
#endif
if (n < 0)