Issue #5273: Fixed import failure on unicode path. (especially on windows)
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 @@
{
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);