summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1997-12-31 05:53:15 (GMT)
committerGuido van Rossum <guido@python.org>1997-12-31 05:53:15 (GMT)
commit8f18320270467facc50fc055a4d6476a5b2bfc1c (patch)
tree976df39dfa519eadd76142a2eb189076da038798 /Python
parentd11ec25ce4ee656a1a94cdf9758d5a14f92424c5 (diff)
downloadcpython-8f18320270467facc50fc055a4d6476a5b2bfc1c.zip
cpython-8f18320270467facc50fc055a4d6476a5b2bfc1c.tar.gz
cpython-8f18320270467facc50fc055a4d6476a5b2bfc1c.tar.bz2
Last-minute fix for Jim H: don't die after del sys.stdout
Diffstat (limited to 'Python')
-rw-r--r--Python/ceval.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/Python/ceval.c b/Python/ceval.c
index 8b7447c..b29b5f9 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -1017,8 +1017,12 @@ eval_code2(co, globals, locals,
err = Py_FlushLine();
if (err == 0) {
x = PySys_GetObject("stdout");
- if (x == NULL)
+ if (x == NULL) {
+ PyErr_SetString(
+ PyExc_RuntimeError,
+ "lost sys.stdout");
err = -1;
+ }
}
if (err == 0)
err = PyFile_WriteObject(v, x, 0);
@@ -1037,7 +1041,12 @@ eval_code2(co, globals, locals,
case PRINT_ITEM:
v = POP();
w = PySys_GetObject("stdout");
- if (PyFile_SoftSpace(w, 1))
+ if (w == NULL) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "lost sys.stdout");
+ err = -1;
+ }
+ else if (PyFile_SoftSpace(w, 1))
err = PyFile_WriteString(" ", w);
if (err == 0)
err = PyFile_WriteObject(v, w, Py_PRINT_RAW);