Patch #554716: Use __va_copy where available.

This commit is contained in:
Martin v. Löwis 2002-07-28 10:23:27 +00:00
parent 09c35f78fe
commit 75d2d94e0f
4 changed files with 16 additions and 0 deletions

View File

@ -1792,8 +1792,12 @@ objargs_mktuple(va_list va)
#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)

View File

@ -155,8 +155,12 @@ PyString_FromFormatV(const char *format, va_list vargs)
#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++) {

View File

@ -60,8 +60,12 @@ PyArg_VaParse(PyObject *args, char *format, va_list va)
#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);

View File

@ -417,8 +417,12 @@ Py_VaBuildValue(char *format, va_list va)
#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)