summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2010-04-30 16:48:45 (GMT)
committerVictor Stinner <victor.stinner@haypocalc.com>2010-04-30 16:48:45 (GMT)
commit0964ee1cf5ddbb1cbf367a1a1a69508983a14b04 (patch)
tree86b3bbc13c00c23657b18b0114695802d3c7ce72
parentb9a20ad036ea0e4b8dd2f57158375d5138dd0663 (diff)
downloadcpython-0964ee1cf5ddbb1cbf367a1a1a69508983a14b04.zip
cpython-0964ee1cf5ddbb1cbf367a1a1a69508983a14b04.tar.gz
cpython-0964ee1cf5ddbb1cbf367a1a1a69508983a14b04.tar.bz2
PyFile_FromFd() uses PyUnicode_DecodeFSDefault() instead of
PyUnicode_FromString() to support surrogates in the filename and use the right encoding
-rw-r--r--Misc/NEWS4
-rw-r--r--Objects/fileobject.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index b7e9318..37fadd3 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,10 @@ What's New in Python 3.2 Alpha 1?
Core and Builtins
-----------------
+- PyFile_FromFd() uses PyUnicode_DecodeFSDefault() instead of
+ PyUnicode_FromString() to support surrogates in the filename and use the
+ right encoding
+
- PyUnicode_DecodeFSDefaultAndSize() uses surrogateescape error handler
- Issue #8419: Prevent the dict constructor from accepting non-string keyword
diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index 85e87d7..bbed57b 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -41,7 +41,7 @@ PyFile_FromFd(int fd, char *name, char *mode, int buffering, char *encoding,
if (stream == NULL)
return NULL;
if (name != NULL) {
- nameobj = PyUnicode_FromString(name);
+ nameobj = PyUnicode_DecodeFSDefault(name);
if (nameobj == NULL)
PyErr_Clear();
else {