Mercurial > cpython-lru_cache-weakref
diff Python/pythonrun.c @ 65535:e2ba1249a2f5
initfsencoding(): get_codeset() failure is now a fatal error
Don't fallback to utf-8 anymore to avoid mojibake. I never got any error from
his function.
| author | Victor Stinner <victor.stinner@haypocalc.com> |
|---|---|
| date | Tue, 19 Oct 2010 00:05:51 +0000 |
| parents | fd5135cbd928 |
| children | 18989ad44636 |
line wrap: on
line diff
--- a/Python/pythonrun.c Mon Oct 18 22:45:54 2010 +0000 +++ b/Python/pythonrun.c Tue Oct 19 00:05:51 2010 +0000 @@ -730,21 +730,14 @@ /* On Unix, set the file system encoding according to the user's preference, if the CODESET names a well-known Python codec, and Py_FileSystemDefaultEncoding isn't - initialized by other means. Also set the encoding of - stdin and stdout if these are terminals. */ + initialized by other means. */ codeset = get_codeset(); - if (codeset != NULL) { - Py_FileSystemDefaultEncoding = codeset; - Py_HasFileSystemDefaultEncoding = 0; - return; - } else { - fprintf(stderr, "Unable to get the locale encoding:\n"); - PyErr_Print(); - } + if (codeset == NULL) + Py_FatalError("Py_Initialize: Unable to get the locale encoding"); - fprintf(stderr, "Unable to get the filesystem encoding: fallback to utf-8\n"); - Py_FileSystemDefaultEncoding = "utf-8"; - Py_HasFileSystemDefaultEncoding = 1; + Py_FileSystemDefaultEncoding = codeset; + Py_HasFileSystemDefaultEncoding = 0; + return; } #endif
