summaryrefslogtreecommitdiff
path: root/Python/modsupport.c
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2011-03-28 17:25:50 -0500
committerBenjamin Peterson <benjamin@python.org>2011-03-28 17:25:50 -0500
commitcb36c0998fcdc9c4c745b387ac987d994377675d (patch)
treed0f96c96d34d08bc08f31d695fd80b9b9cabeb3b /Python/modsupport.c
parenta21598e22f21ca84031277b1c030b92f9d82dda3 (diff)
parentdce235203d23310e1ca12e8a8a8ed8be8e585a12 (diff)
downloadcpython-cb36c0998fcdc9c4c745b387ac987d994377675d.tar.gz
merge 3.1
Diffstat (limited to 'Python/modsupport.c')
-rw-r--r--Python/modsupport.c46
1 files changed, 2 insertions, 44 deletions
diff --git a/Python/modsupport.c b/Python/modsupport.c
index f405bae9d2..85b0d66358 100644
--- a/Python/modsupport.c
+++ b/Python/modsupport.c
@@ -279,11 +279,9 @@ do_mkvalue(const char **p_format, va_list *p_va, int flags)
return PyFloat_FromDouble(
(double)va_arg(*p_va, va_double));
-#ifndef WITHOUT_COMPLEX
case 'D':
return PyComplex_FromCComplex(
*((Py_complex *)va_arg(*p_va, Py_complex *)));
-#endif /* WITHOUT_COMPLEX */
case 'c':
{
@@ -304,39 +302,7 @@ do_mkvalue(const char **p_format, va_list *p_va, int flags)
case 's':
case 'z':
- {
- PyObject *v;
- char *str = va_arg(*p_va, char *);
- Py_ssize_t n;
- if (**p_format == '#') {
- ++*p_format;
- if (flags & FLAG_SIZE_T)
- n = va_arg(*p_va, Py_ssize_t);
- else
- n = va_arg(*p_va, int);
- }
- else
- n = -1;
- if (str == NULL) {
- v = Py_None;
- Py_INCREF(v);
- }
- else {
- if (n < 0) {
- size_t m = strlen(str);
- if (m > PY_SSIZE_T_MAX) {
- PyErr_SetString(PyExc_OverflowError,
- "string too long for Python string");
- return NULL;
- }
- n = (Py_ssize_t)m;
- }
- v = PyUnicode_FromStringAndSize(str, n);
- }
- return v;
- }
-
- case 'U':
+ case 'U': /* XXX deprecated alias */
{
PyObject *v;
char *str = va_arg(*p_va, char *);
@@ -490,15 +456,7 @@ va_build_value(const char *format, va_list va, int flags)
int n = countformat(f, '\0');
va_list lva;
-#ifdef VA_LIST_IS_ARRAY
- memcpy(lva, va, sizeof(va_list));
-#else
-#ifdef __va_copy
- __va_copy(lva, va);
-#else
- lva = va;
-#endif
-#endif
+ Py_VA_COPY(lva, va);
if (n < 0)
return NULL;