Complain if __len__() returns < 0, just like classic classes.

Fixes SF bug #575773.

Bug fix candidate.
This commit is contained in:
Jeremy Hylton 2002-07-25 16:06:15 +00:00
parent c075e197d6
commit f20fcf9fed

View file

@ -2972,6 +2972,11 @@ slot_sq_length(PyObject *self)
return -1; return -1;
len = (int)PyInt_AsLong(res); len = (int)PyInt_AsLong(res);
Py_DECREF(res); Py_DECREF(res);
if (len < 0) {
PyErr_SetString(PyExc_ValueError,
"__len__() should return >= 0");
return -1;
}
return len; return len;
} }