]> granicus.if.org Git - python/commitdiff
Another #1415 fix for Windows GUI apps
authorChristian Heimes <christian@cheimes.de>
Tue, 13 Nov 2007 15:24:14 +0000 (15:24 +0000)
committerChristian Heimes <christian@cheimes.de>
Tue, 13 Nov 2007 15:24:14 +0000 (15:24 +0000)
print() mustn't raise an exception when sys.stdout is None.

Python/bltinmodule.c

index 7973fcb662b07fe0d562dc59344244a4b50b3e6b..755bfc1b38983901f77c072d160c8790d9ef8fc1 100644 (file)
@@ -1192,9 +1192,13 @@ builtin_print(PyObject *self, PyObject *args, PyObject *kwds)
        }
        if (!PyArg_ParseTupleAndKeywords(dummy_args, kwds, "|OOO:print",
                                         kwlist, &sep, &end, &file))
-                return NULL;
-       if (file == NULL || file == Py_None)
+               return NULL;
+       if (file == NULL || file == Py_None) {
                file = PySys_GetObject("stdout");
+               /* sys.stdout may be None when FILE* stdout isn't connected */
+               if (file == Py_None)
+                       Py_RETURN_NONE;
+       }
 
        if (sep && sep != Py_None && !PyUnicode_Check(sep)) {
                PyErr_Format(PyExc_TypeError,