Fix for the bug in complex() just reported by Ping.

This commit is contained in:
Guido van Rossum 2001-01-19 02:11:59 +00:00
parent 90cb9067b8
commit 8dabbf149e
1 changed files with 7 additions and 1 deletions

View File

@ -591,12 +591,18 @@ builtin_complex(PyObject *self, PyObject *args)
}
}
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;