diff Python/sysmodule.c @ 30109:fb2abca2d2d5 2.3

Move initialization of sys.std{in,out}.encoding to Py_Initialize. Verify that the encoding actually exists. Fixes #775985.
author Martin v. Löwis <martin@v.loewis.de>
date Sat, 09 Aug 2003 09:48:29 +0000
parents e9e5832d706f
children 8c9e3ed594fe 1c117dbb2def
line wrap: on
line diff
--- a/Python/sysmodule.c	Sat Aug 09 09:07:56 2003 +0000
+++ b/Python/sysmodule.c	Sat Aug 09 09:48:29 2003 +0000
@@ -905,9 +905,6 @@
 #ifdef MS_WINDOWS
 	char buf[10];
 #endif
-#if defined(HAVE_LANGINFO_H) && defined(CODESET)
-	char *oldloc, *codeset;
-#endif
 
 	m = Py_InitModule3("sys", sys_methods, sys_doc);
 	sysdict = PyModule_GetDict(m);
@@ -930,21 +927,6 @@
 	}
 #endif
 
-#if defined(HAVE_LANGINFO_H) && defined(CODESET)
-	oldloc = setlocale(LC_CTYPE, 0);
-	setlocale(LC_CTYPE, "");
-	codeset = nl_langinfo(CODESET);
-	setlocale(LC_CTYPE, oldloc);
-	if(codeset && isatty(fileno(stdin))){
-		if (!PyFile_SetEncoding(sysin, codeset))
-			return NULL;
-	}
-	if(codeset && isatty(fileno(stdout))) {
-		if (!PyFile_SetEncoding(sysout, codeset))
-			return NULL;
-	}
-#endif
-	
 	PyDict_SetItemString(sysdict, "stdin", sysin);
 	PyDict_SetItemString(sysdict, "stdout", sysout);
 	PyDict_SetItemString(sysdict, "stderr", syserr);