From 55b002f096cf85b8646df1c0ba87445fd326e239 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 8 Jun 2010 21:46:32 +0000 Subject: [PATCH] Merged revisions 81849 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r81849 | victor.stinner | 2010-06-08 23:45:51 +0200 (mar., 08 juin 2010) | 7 lines PyArg_Parse*("Z#") raises an error for unknown type instead of ignoring the error and leave the pointer to the string and the size unchanged (not initialized). Fix also the type in the error message of "Z", "Z#" and "Y" formats. ........ --- Python/getargs.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Python/getargs.c b/Python/getargs.c index dec8602bf1c..272ce19a971 100644 --- a/Python/getargs.c +++ b/Python/getargs.c @@ -1048,6 +1048,8 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags, *p = PyUnicode_AS_UNICODE(arg); STORE_SIZE(PyUnicode_GET_SIZE(arg)); } + else + return converterr("str or None", arg, msgbuf, bufsize); format++; } else { Py_UNICODE **p = va_arg(*p_va, Py_UNICODE **); @@ -1057,8 +1059,7 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags, else if (PyUnicode_Check(arg)) *p = PyUnicode_AS_UNICODE(arg); else - return converterr("string or None", - arg, msgbuf, bufsize); + return converterr("str or None", arg, msgbuf, bufsize); } break; } @@ -1253,7 +1254,7 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags, if (PyByteArray_Check(arg)) *p = arg; else - return converterr("buffer", arg, msgbuf, bufsize); + return converterr("bytearray", arg, msgbuf, bufsize); break; }