summaryrefslogtreecommitdiffstats
path: root/Python/import.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/import.c')
-rw-r--r--Python/import.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/Python/import.c b/Python/import.c
index 11cbc58..1cd3dc7 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -990,13 +990,15 @@ update_compiled_module(PyCodeObject *co, char *pathname)
{
PyObject *oldname, *newname;
- if (!PyUnicode_CompareWithASCIIString(co->co_filename, pathname))
- return 0;
-
- newname = PyUnicode_FromString(pathname);
+ newname = PyUnicode_DecodeFSDefault(pathname);
if (newname == NULL)
return -1;
+ if (!PyUnicode_Compare(co->co_filename, newname)) {
+ Py_DECREF(newname);
+ return 0;
+ }
+
oldname = co->co_filename;
Py_INCREF(oldname);
update_code_filenames(co, oldname, newname);