Another #1415 fix for Windows GUI apps

print() mustn't raise an exception when sys.stdout is None.
This commit is contained in:
Christian Heimes 2007-11-13 15:24:14 +00:00
parent db23308c71
commit fef9bbaff2
1 changed files with 6 additions and 2 deletions

View 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,