diff options
author | Guido van Rossum <guido@python.org> | 1998-02-28 04:31:39 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1998-02-28 04:31:39 (GMT) |
commit | 0829c754bbb7b3ea66801c7da69f6cb189b80543 (patch) | |
tree | 7962bf6823c9a2640f1294f5c729ef9a80e984f8 /Python | |
parent | 10026de6a39b2c7e4c96944809b14ad9e886b887 (diff) | |
download | cpython-0829c754bbb7b3ea66801c7da69f6cb189b80543.zip cpython-0829c754bbb7b3ea66801c7da69f6cb189b80543.tar.gz cpython-0829c754bbb7b3ea66801c7da69f6cb189b80543.tar.bz2 |
Fix the handling of errors in Py_FlushLine() in a few places.
(Basically, the error is cleared... Like almost everywhere else...)
Diffstat (limited to 'Python')
-rw-r--r-- | Python/pythonrun.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 4cd0e3f..83a0bc1 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -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 |