mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
bpo-20627: Fix error message when keyword arguments are used (#2115)
This commit is contained in:
parent
8acb4cf2b3
commit
96c7c06850
4 changed files with 48 additions and 14 deletions
|
@ -1823,6 +1823,9 @@ s_pack(PyObject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
|
|||
PyObject *result;
|
||||
|
||||
/* Validate arguments. */
|
||||
if (!_PyArg_NoStackKeywords("pack", kwnames)) {
|
||||
return NULL;
|
||||
}
|
||||
soself = (PyStructObject *)self;
|
||||
assert(PyStruct_Check(self));
|
||||
assert(soself->s_codes != NULL);
|
||||
|
@ -1832,9 +1835,6 @@ s_pack(PyObject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
|
|||
"pack expected %zd items for packing (got %zd)", soself->s_len, nargs);
|
||||
return NULL;
|
||||
}
|
||||
if (!_PyArg_NoStackKeywords("pack", kwnames)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Allocate a new buffer */
|
||||
result = PyBytes_FromStringAndSize((char *)NULL, soself->s_size);
|
||||
|
@ -1866,6 +1866,9 @@ s_pack_into(PyObject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnames
|
|||
Py_ssize_t offset;
|
||||
|
||||
/* Validate arguments. +1 is for the first arg as buffer. */
|
||||
if (!_PyArg_NoStackKeywords("pack_into", kwnames)) {
|
||||
return NULL;
|
||||
}
|
||||
soself = (PyStructObject *)self;
|
||||
assert(PyStruct_Check(self));
|
||||
assert(soself->s_codes != NULL);
|
||||
|
@ -1886,9 +1889,6 @@ s_pack_into(PyObject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnames
|
|||
}
|
||||
return NULL;
|
||||
}
|
||||
if (!_PyArg_NoStackKeywords("pack_into", kwnames)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Extract a writable memory buffer from the first argument */
|
||||
if (!PyArg_Parse(args[0], "w*", &buffer))
|
||||
|
@ -2131,6 +2131,10 @@ pack(PyObject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
|
|||
PyObject *s_object = NULL;
|
||||
PyObject *format, *result;
|
||||
|
||||
if (!_PyArg_NoStackKeywords("pack", kwnames)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (nargs == 0) {
|
||||
PyErr_SetString(PyExc_TypeError, "missing format argument");
|
||||
return NULL;
|
||||
|
@ -2159,6 +2163,10 @@ pack_into(PyObject *self, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
|
|||
PyObject *s_object = NULL;
|
||||
PyObject *format, *result;
|
||||
|
||||
if (!_PyArg_NoStackKeywords("pack_into", kwnames)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (nargs == 0) {
|
||||
PyErr_SetString(PyExc_TypeError, "missing format argument");
|
||||
return NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue