diff Modules/python.c @ 80411:48fbdaf3a849

Issue #16416: OS data are now always encoded/decoded to/from UTF-8/surrogateescape, instead of the locale encoding (which may be ASCII if no locale environment variable is set), to avoid inconsistencies with os.fsencode() and os.fsdecode() functions which are already using UTF-8/surrogateescape.
author Victor Stinner <victor.stinner@gmail.com>
date Mon, 12 Nov 2012 23:04:02 +0100
parents f77998006917
children 3b344eac6b0f
line wrap: on
line diff
--- a/Modules/python.c	Mon Nov 12 16:48:25 2012 -0500
+++ b/Modules/python.c	Mon Nov 12 23:04:02 2012 +0100
@@ -15,10 +15,6 @@
 }
 #else
 
-#ifdef __APPLE__
-extern wchar_t* _Py_DecodeUTF8_surrogateescape(const char *s, Py_ssize_t size);
-#endif
-
 int
 main(int argc, char **argv)
 {
@@ -45,11 +41,7 @@
     oldloc = strdup(setlocale(LC_ALL, NULL));
     setlocale(LC_ALL, "");
     for (i = 0; i < argc; i++) {
-#ifdef __APPLE__
-        argv_copy[i] = _Py_DecodeUTF8_surrogateescape(argv[i], strlen(argv[i]));
-#else
         argv_copy[i] = _Py_char2wchar(argv[i], NULL);
-#endif
         if (!argv_copy[i]) {
             free(oldloc);
             fprintf(stderr, "Fatal Python error: "