diff --git a/Objects/fileobject.c b/Objects/fileobject.c index 6f2e35166ba..1b184100d0b 100644 --- a/Objects/fileobject.c +++ b/Objects/fileobject.c @@ -372,7 +372,7 @@ PyFile_NewStdPrinter(int fd) static PyObject * stdprinter_write(PyStdPrinter_Object *self, PyObject *args) { - char *c; + char *str; Py_ssize_t n; if (self->fd < 0) { @@ -383,10 +383,11 @@ stdprinter_write(PyStdPrinter_Object *self, PyObject *args) Py_RETURN_NONE; } - if (!PyArg_ParseTuple(args, "s", &c)) + /* encode Unicode to UTF-8 */ + if (!PyArg_ParseTuple(args, "s", &str)) return NULL; - n = _Py_write(self->fd, c, strlen(c)); + n = _Py_write(self->fd, str, strlen(str)); if (n == -1) { if (errno == EAGAIN) { PyErr_Clear();