summaryrefslogtreecommitdiff
path: root/Modules/_io/_iomodule.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/_io/_iomodule.c')
-rw-r--r--Modules/_io/_iomodule.c7
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;
}