Mercurial > cpython-lru_cache-weakref
diff Python/bltinmodule.c @ 16011:d90eeab5f9a4 legacy-trunk
Fix for the bug in complex() just reported by Ping.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Fri, 19 Jan 2001 02:11:59 +0000 |
| parents | 1f92d63b20f0 |
| children | 7234d7c3c29f |
line wrap: on
line diff
--- a/Python/bltinmodule.c Fri Jan 19 00:44:41 2001 +0000 +++ b/Python/bltinmodule.c Fri Jan 19 02:11:59 2001 +0000 @@ -591,12 +591,18 @@ } } else { - tmp = (*nbr->nb_float)(r); + tmp = PyNumber_Float(r); if (own_r) { Py_DECREF(r); } if (tmp == NULL) return NULL; + if (!PyFloat_Check(tmp)) { + PyErr_SetString(PyExc_TypeError, + "float(r) didn't return a float"); + Py_DECREF(tmp); + return NULL; + } cr.real = PyFloat_AsDouble(tmp); Py_DECREF(tmp); cr.imag = 0.0;
