summaryrefslogtreecommitdiff
path: root/Python/import.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2010-05-15 16:27:27 +0000
committerVictor Stinner <victor.stinner@haypocalc.com>2010-05-15 16:27:27 +0000
commit54567ad24842b6c6c98423b6614d22b0de784915 (patch)
treee441b4e80101cc573d1344adf885865c84df2ee7 /Python/import.c
parent377bd5c569fa9b359109e1df4fcf5277f4070b90 (diff)
downloadcpython-54567ad24842b6c6c98423b6614d22b0de784915.tar.gz
Issue #8715: Create PyUnicode_EncodeFSDefault() function: Encode a Unicode
object to Py_FileSystemDefaultEncoding with the "surrogateescape" error handler, return a bytes object. If Py_FileSystemDefaultEncoding is not set, fall back to UTF-8.
Diffstat (limited to 'Python/import.c')
-rw-r--r--Python/import.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/Python/import.c b/Python/import.c
index 923888d5df..d23eb6a941 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -1633,8 +1633,7 @@ find_module(char *fullname, char *subname, PyObject *path, char *buf,
if (!v)
return NULL;
if (PyUnicode_Check(v)) {
- v = PyUnicode_AsEncodedString(v,
- Py_FileSystemDefaultEncoding, NULL);
+ v = PyUnicode_EncodeFSDefault(v);
if (v == NULL)
return NULL;
}
@@ -2752,14 +2751,7 @@ ensure_fromlist(PyObject *mod, PyObject *fromlist, char *buf, Py_ssize_t buflen,
char *subname;
PyObject *submod;
char *p;
- if (!Py_FileSystemDefaultEncoding) {
- item8 = PyUnicode_EncodeASCII(PyUnicode_AsUnicode(item),
- PyUnicode_GetSize(item),
- NULL);
- } else {
- item8 = PyUnicode_AsEncodedString(item,
- Py_FileSystemDefaultEncoding, NULL);
- }
+ item8 = PyUnicode_EncodeFSDefault(item);
if (!item8) {
PyErr_SetString(PyExc_ValueError, "Cannot encode path item");
return 0;