diff options
author | Victor Stinner <victor.stinner@haypocalc.com> | 2010-09-10 21:57:59 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@haypocalc.com> | 2010-09-10 21:57:59 (GMT) |
commit | 5b519e02016ea3a51f784dee70eead3be4ab1aff (patch) | |
tree | 5886b329aef1b3d5fe965c78b97f82f99b93f6bf /Python | |
parent | 6246d6dcb01c690fd82e870e5c4affbd2848d22c (diff) | |
download | cpython-5b519e02016ea3a51f784dee70eead3be4ab1aff.zip cpython-5b519e02016ea3a51f784dee70eead3be4ab1aff.tar.gz cpython-5b519e02016ea3a51f784dee70eead3be4ab1aff.tar.bz2 |
Issue #9632: Remove sys.setfilesystemencoding() function: use PYTHONFSENCODING
environment variable to set the filesystem encoding at Python startup.
sys.setfilesystemencoding() creates inconsistencies because it is unable to
reencode all filenames in all objects.
Diffstat (limited to 'Python')
-rw-r--r-- | Python/bltinmodule.c | 23 | ||||
-rw-r--r-- | Python/sysmodule.c | 21 |
2 files changed, 0 insertions, 44 deletions
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index 3bcb08e..60bceb7 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -33,29 +33,6 @@ const char *Py_FileSystemDefaultEncoding = "utf-8"; int Py_HasFileSystemDefaultEncoding = 1; #endif -int -_Py_SetFileSystemEncoding(PyObject *s) -{ - PyObject *defenc, *codec; - if (!PyUnicode_Check(s)) { - PyErr_BadInternalCall(); - return -1; - } - defenc = _PyUnicode_AsDefaultEncodedString(s, NULL); - if (!defenc) - return -1; - codec = _PyCodec_Lookup(PyBytes_AsString(defenc)); - if (codec == NULL) - return -1; - Py_DECREF(codec); - if (!Py_HasFileSystemDefaultEncoding && Py_FileSystemDefaultEncoding) - /* A file system encoding was set at run-time */ - free((char*)Py_FileSystemDefaultEncoding); - Py_FileSystemDefaultEncoding = strdup(PyBytes_AsString(defenc)); - Py_HasFileSystemDefaultEncoding = 0; - return 0; -} - static PyObject * builtin___build_class__(PyObject *self, PyObject *args, PyObject *kwds) { diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 90c165a..4e428f0 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -199,25 +199,6 @@ operating system filenames." ); static PyObject * -sys_setfilesystemencoding(PyObject *self, PyObject *args) -{ - PyObject *new_encoding; - if (!PyArg_ParseTuple(args, "U:setfilesystemencoding", &new_encoding)) - return NULL; - if (_Py_SetFileSystemEncoding(new_encoding)) - return NULL; - Py_INCREF(Py_None); - return Py_None; -} - -PyDoc_STRVAR(setfilesystemencoding_doc, -"setfilesystemencoding(string) -> None\n\ -\n\ -Set the encoding used to convert Unicode filenames in\n\ -operating system filenames." -); - -static PyObject * sys_intern(PyObject *self, PyObject *args) { PyObject *s; @@ -1012,8 +993,6 @@ static PyMethodDef sys_methods[] = { #ifdef USE_MALLOPT {"mdebug", sys_mdebug, METH_VARARGS}, #endif - {"setfilesystemencoding", sys_setfilesystemencoding, METH_VARARGS, - setfilesystemencoding_doc}, {"setcheckinterval", sys_setcheckinterval, METH_VARARGS, setcheckinterval_doc}, {"getcheckinterval", sys_getcheckinterval, METH_NOARGS, |