]> granicus.if.org Git - python/commitdiff
Patch #554716: Use __va_copy where available.
authorMartin v. Löwis <martin@v.loewis.de>
Sun, 28 Jul 2002 10:23:27 +0000 (10:23 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Sun, 28 Jul 2002 10:23:27 +0000 (10:23 +0000)
Objects/abstract.c
Objects/stringobject.c
Python/getargs.c
Python/modsupport.c

index 1f9b60346ef4f311c84fb77f03c8c8eb4db4b761..fc73a9f0ceaf26d9111f147b8233152dae98aa23 100644 (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)
index 5e40524a0aabbc26e5629e4b4dcd86ff907ed829..bf548cdd261bafff0c32cd1a1be4519d63fd8366 100644 (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++) {
index 280ffc3e46c3c70ed59a1d07508f764ac8c255f1..cc0409dccc693d93a16634fb56b1a7634c8b00a8 100644 (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);
index f4f82982afcbc544787a3569699549d4b0b74b0c..1f8ef07d17139ac60c86865d9c8d1879899270e8 100644 (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)