diff options
Diffstat (limited to 'Modules/_io/_iomodule.c')
| -rw-r--r-- | Modules/_io/_iomodule.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Modules/_io/_iomodule.c b/Modules/_io/_iomodule.c index 8f0b72a55b..5d804ece79 100644 --- a/Modules/_io/_iomodule.c +++ b/Modules/_io/_iomodule.c @@ -549,14 +549,15 @@ _PyIO_ConvertSsize_t(PyObject *obj, void *result) { if (obj == Py_None) { limit = -1; } - else if (PyNumber_Check(obj)) { + else if (PyIndex_Check(obj)) { limit = PyNumber_AsSsize_t(obj, PyExc_OverflowError); - if (limit == -1 && PyErr_Occurred()) + if (limit == -1 && PyErr_Occurred()) { return 0; + } } else { PyErr_Format(PyExc_TypeError, - "integer argument expected, got '%.200s'", + "argument should be integer or None, not '%.200s'", Py_TYPE(obj)->tp_name); return 0; } |
