#14897: Enhance error messages of struct.pack and struct.pack_into
Patch by Matti Mäki.
This commit is contained in:
commit
4648b4779a
|
@ -820,6 +820,7 @@ Michael Muller
|
|||
Neil Muller
|
||||
Louis Munro
|
||||
R. David Murray
|
||||
Matti Mäki
|
||||
Dale Nagata
|
||||
John Nagle
|
||||
Takahiro Nakayama
|
||||
|
|
|
@ -49,6 +49,9 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #14897: Enhance error messages of struct.pack and
|
||||
struct.pack_into. Patch by Matti Mäki.
|
||||
|
||||
- Issue #12890: cgitb no longer prints spurious <p> tags in text
|
||||
mode when the logdir option is specified.
|
||||
|
||||
|
|
|
@ -1662,7 +1662,7 @@ s_pack(PyObject *self, PyObject *args)
|
|||
if (PyTuple_GET_SIZE(args) != soself->s_len)
|
||||
{
|
||||
PyErr_Format(StructError,
|
||||
"pack requires exactly %zd arguments", soself->s_len);
|
||||
"pack expected %zd items for packing (got %zd)", soself->s_len, PyTuple_GET_SIZE(args));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -1701,9 +1701,19 @@ s_pack_into(PyObject *self, PyObject *args)
|
|||
assert(soself->s_codes != NULL);
|
||||
if (PyTuple_GET_SIZE(args) != (soself->s_len + 2))
|
||||
{
|
||||
PyErr_Format(StructError,
|
||||
"pack_into requires exactly %zd arguments",
|
||||
(soself->s_len + 2));
|
||||
if (PyTuple_GET_SIZE(args) == 0) {
|
||||
PyErr_Format(StructError,
|
||||
"pack_into expected buffer argument");
|
||||
}
|
||||
else if (PyTuple_GET_SIZE(args) == 1) {
|
||||
PyErr_Format(StructError,
|
||||
"pack_into expected offset argument");
|
||||
}
|
||||
else {
|
||||
PyErr_Format(StructError,
|
||||
"pack_into expected %zd items for packing (got %zd)",
|
||||
soself->s_len, (PyTuple_GET_SIZE(args) - 2));
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue