]> granicus.if.org Git - python/commitdiff
Fixup error return and add support for intermixed ints and floats/
authorRaymond Hettinger <python@rcn.com>
Wed, 24 Oct 2007 02:05:51 +0000 (02:05 +0000)
committerRaymond Hettinger <python@rcn.com>
Wed, 24 Oct 2007 02:05:51 +0000 (02:05 +0000)
Python/bltinmodule.c

index cc96cdf7a63a69b20ff4204069c7a1b0f2cc7231..7d5de27101c6d46491525bf0a851f9decfcef698 100644 (file)
@@ -2120,7 +2120,13 @@ builtin_sum(PyObject *self, PyObject *args)
                        if (PyFloat_CheckExact(item)) {
                                PyFPE_START_PROTECT("add", return 0)
                                f_result += PyFloat_AS_DOUBLE(item);
-                               PyFPE_END_PROTECT(a)
+                               PyFPE_END_PROTECT(f_result)
+                               continue;
+                       }
+                       if (PyInt_CheckExact(item)) {
+                               PyFPE_START_PROTECT("add", return 0)
+                               f_result += (double)PyInt_AS_LONG(item);
+                               PyFPE_END_PROTECT(f_result)
                                continue;
                        }
                        result = PyFloat_FromDouble(f_result);