diff Python/bltinmodule.c @ 17261:11a21d592834 2.0

Fixed bug in complex(). No SF id
author Moshe Zadka <moshez@math.huji.ac.il>
date Fri, 30 Mar 2001 18:27:11 +0000
parents 25ddd3dc7a7a
children
line wrap: on
line diff
--- a/Python/bltinmodule.c	Fri Mar 30 17:20:58 2001 +0000
+++ b/Python/bltinmodule.c	Fri Mar 30 18:27:11 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;