Mercurial > cpython-lru_cache-weakref
diff Objects/floatobject.c @ 26272:fbccef8b3153 legacy-trunk
Improve exception message raised by PyFloat_AsDouble if the object does not
have a nb_float slot. This matches what PyInt_AsLong does.
| author | Neil Schemenauer <nascheme@enme.ucalgary.ca> |
|---|---|
| date | Mon, 18 Nov 2002 16:06:21 +0000 |
| parents | a869d2de536f |
| children | d31ddc66b1b5 |
line wrap: on
line diff
--- a/Objects/floatobject.c Mon Nov 18 16:04:52 2002 +0000 +++ b/Objects/floatobject.c Mon Nov 18 16:06:21 2002 +0000 @@ -202,12 +202,16 @@ if (op && PyFloat_Check(op)) return PyFloat_AS_DOUBLE((PyFloatObject*) op); - if (op == NULL || (nb = op->ob_type->tp_as_number) == NULL || - nb->nb_float == NULL) { + if (op == NULL) { PyErr_BadArgument(); return -1; } + if ((nb = op->ob_type->tp_as_number) == NULL || nb->nb_float == NULL) { + PyErr_SetString(PyExc_TypeError, "a float is required"); + return -1; + } + fo = (PyFloatObject*) (*nb->nb_float) (op); if (fo == NULL) return -1;
