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