diff Python/exceptions.c @ 25371:2bfe44c4dacb 2.2

Backported 1.39 and 1.40 from trunk: 1.39: Fix SF bug 610610 (reported by Martijn Pieters, diagnosed by Neal Norwitz). The switch in Exception__str__ didn't clear the error if PySequence_Size() raised an exception. Added a case -1 which clears the error and falls through to the default case. 1.40: Two more cases of switch(PySequence_Size()) without checking for case -1. (Same problem as last checkin for SF bug 610610) Need to clear the error and proceed.
author Guido van Rossum <guido@python.org>
date Mon, 23 Sep 2002 21:19:44 +0000
parents d4406fbfcb4e
children
line wrap: on
line diff
--- a/Python/exceptions.c	Mon Sep 23 21:17:27 2002 +0000
+++ b/Python/exceptions.c	Mon Sep 23 21:19:44 2002 +0000
@@ -278,6 +278,9 @@
 	    out = NULL;
 	break;
     }
+    case -1:
+        PyErr_Clear();
+        /* Fall through */
     default:
         out = PyObject_Str(args);
         break;
@@ -409,6 +412,9 @@
     case 1:
         code = PySequence_GetItem(args, 0);
         break;
+    case -1:
+        PyErr_Clear();
+        /* Fall through */
     default:
         Py_INCREF(args);
         code = args;
@@ -515,6 +521,10 @@
 	    goto finally;
 	}
 	break;
+
+    case -1:
+	PyErr_Clear();
+	break;
     }
 
     Py_INCREF(Py_None);