diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2013-08-26 20:28:21 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2013-08-26 20:28:21 (GMT) |
commit | 14e461d5b92000ec4e89182fa25ab0d5b5b31234 (patch) | |
tree | 21e37d8661cbe50e7ddbedc1b35a486adc1eae87 /Modules/symtablemodule.c | |
parent | 33824f6fd70f89dd39fcb7ed1651e8097c57d340 (diff) | |
download | cpython-14e461d5b92000ec4e89182fa25ab0d5b5b31234.zip cpython-14e461d5b92000ec4e89182fa25ab0d5b5b31234.tar.gz cpython-14e461d5b92000ec4e89182fa25ab0d5b5b31234.tar.bz2 |
Close #11619: The parser and the import machinery do not encode Unicode
filenames anymore on Windows.
Diffstat (limited to 'Modules/symtablemodule.c')
-rw-r--r-- | Modules/symtablemodule.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Modules/symtablemodule.c b/Modules/symtablemodule.c index fbc1ff6..036fdb9 100644 --- a/Modules/symtablemodule.c +++ b/Modules/symtablemodule.c @@ -11,12 +11,12 @@ symtable_symtable(PyObject *self, PyObject *args) PyObject *t; char *str; - char *filename; + PyObject *filename; char *startstr; int start; - if (!PyArg_ParseTuple(args, "sss:symtable", &str, &filename, - &startstr)) + if (!PyArg_ParseTuple(args, "sO&s:symtable", + &str, PyUnicode_FSDecoder, &filename, &startstr)) return NULL; if (strcmp(startstr, "exec") == 0) start = Py_file_input; @@ -27,9 +27,11 @@ symtable_symtable(PyObject *self, PyObject *args) else { PyErr_SetString(PyExc_ValueError, "symtable() arg 3 must be 'exec' or 'eval' or 'single'"); + Py_DECREF(filename); return NULL; } - st = Py_SymtableString(str, filename, start); + st = Py_SymtableStringObject(str, filename, start); + Py_DECREF(filename); if (st == NULL) return NULL; t = st->st_blocks; |