Commit c049982e authored by Victor Stinner's avatar Victor Stinner

compiler_error(): use PyUnicode_DecodeFSDefault() to decode the filename,

instead of utf-8 in strict mode.
parent 15a71cda
......@@ -3361,7 +3361,7 @@ compiler_in_loop(struct compiler *c) {
static int
compiler_error(struct compiler *c, const char *errstr)
{
PyObject *loc;
PyObject *loc, *filename;
PyObject *u = NULL, *v = NULL;
loc = PyErr_ProgramText(c->c_filename, c->u->u_lineno);
......@@ -3369,7 +3369,16 @@ compiler_error(struct compiler *c, const char *errstr)
Py_INCREF(Py_None);
loc = Py_None;
}
u = Py_BuildValue("(ziiO)", c->c_filename, c->u->u_lineno,
if (c->c_filename != NULL) {
filename = PyUnicode_DecodeFSDefault(c->c_filename);
if (!filename)
goto exit;
}
else {
Py_INCREF(Py_None);
filename = Py_None;
}
u = Py_BuildValue("(NiiO)", filename, c->u->u_lineno,
c->u->u_col_offset, loc);
if (!u)
goto exit;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment