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

index 0556c5a2a54d5819f5dcfd4598ff688ce2473e45..a9be8b2f9c53ca32e3a0cb68daa59301518d1a20 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 dd74569fda47ddc60ceff72e4ed6c35be246f06a..b73eaa8bfaf751cb0c4b4845850ed1c4f0ddfdac 100644 (file)
@@ -173,8 +173,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 9df2a2e56672dda3af83ae6b801bc291f5e21924..08b79e474a5225354199d53b56d086da2abf6a46 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 cff9a02aa4c0a6ab1e743e0aa781784b6efdb332..437469b10a6a889186e7002a173c62c63ac223f1 100644 (file)
@@ -410,8 +410,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)