summaryrefslogtreecommitdiff
path: root/Python/pythonrun.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2010-10-19 00:05:51 +0000
committerVictor Stinner <victor.stinner@haypocalc.com>2010-10-19 00:05:51 +0000
commit69ad491c3243b85456e2b60a4b47fd7a8a15a55c (patch)
treea5af2869352090f521abdbd201a70f2045689d35 /Python/pythonrun.c
parent966464389848a6ba11fd78e19f709bea20d198dc (diff)
downloadcpython-69ad491c3243b85456e2b60a4b47fd7a8a15a55c.tar.gz
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.
Diffstat (limited to 'Python/pythonrun.c')
-rw-r--r--Python/pythonrun.c19
1 files changed, 6 insertions, 13 deletions
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index fe99fd23f4..f755d117ff 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -730,21 +730,14 @@ initfsencoding(void)
/* 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