mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
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.
This commit is contained in:
parent
55a5c78e4d
commit
5216e6d598
1 changed files with 4 additions and 3 deletions
|
@ -1051,6 +1051,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 **);
|
||||
|
@ -1060,8 +1062,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;
|
||||
}
|
||||
|
@ -1258,7 +1259,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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue