]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Fix the handling of errors in Py_FlushLine() in a few places.
authorGuido van Rossum <guido@python.org>
Sat, 28 Feb 1998 04:31:39 +0000 (04:31 +0000)
committerGuido van Rossum <guido@python.org>
Sat, 28 Feb 1998 04:31:39 +0000 (04:31 +0000)
(Basically, the error is cleared...  Like almost everywhere else...)

Python/pythonrun.c

index 4cd0e3f3c24a7c36ed331d093667f9bc3da87618..83a0bc14725af2f1a4497f191a4b8835bb11ddd0 100644 (file)
@@ -676,7 +676,8 @@ PyErr_PrintEx(set_sys_last_vars)
                return;
 
        if (PyErr_GivenExceptionMatches(exception, PyExc_SystemExit)) {
-               err = Py_FlushLine();
+               if (Py_FlushLine())
+                       PyErr_Clear();
                fflush(stdout);
                if (v == NULL || v == Py_None)
                        Py_Exit(0);
@@ -714,10 +715,10 @@ PyErr_PrintEx(set_sys_last_vars)
        if (f == NULL)
                fprintf(stderr, "lost sys.stderr\n");
        else {
-               err = Py_FlushLine();
+               if (Py_FlushLine())
+                       PyErr_Clear();
                fflush(stdout);
-               if (err == 0)
-                       err = PyTraceBack_Print(tb, f);
+               err = PyTraceBack_Print(tb, f);
                if (err == 0 &&
                    PyErr_GivenExceptionMatches(exception, PyExc_SyntaxError))
                {
@@ -1062,7 +1063,8 @@ call_sys_exitfunc()
                Py_DECREF(exitfunc);
        }
 
-       Py_FlushLine();
+       if (Py_FlushLine())
+               PyErr_Clear();
 }
 
 static void