Issue 1267, continued.
Additional patch by Christian Heimes to deal more cleanly with the
FILE* vs file-descriptor issues.
I cleaned up his code a bit, and moved the lseek() call into import.c.
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index f641547..330667a 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -719,7 +719,7 @@
 	}
 
 	/* Set sys.stdin */
-	if (!(std = PyFile_FromFileEx(stdin, "<stdin>", "r", fclose, -1,
+	if (!(std = PyFile_FromFd(fileno(stdin), "<stdin>", "r", -1,
 				      NULL, "\n"))) {
 		goto error;
 	}
@@ -728,7 +728,7 @@
 	Py_DECREF(std);
 
 	/* Set sys.stdout */
-	if (!(std = PyFile_FromFileEx(stdout, "<stdout>", "w", fclose, -1,
+	if (!(std = PyFile_FromFd(fileno(stdout), "<stdout>", "w", -1,
 				      NULL, "\n"))) {
             goto error;
         }
@@ -737,7 +737,7 @@
 	Py_DECREF(std);
 
 	/* Set sys.stderr */
-	if (!(std = PyFile_FromFileEx(stderr, "<stderr>", "w", fclose, -1,
+	if (!(std = PyFile_FromFd(fileno(stderr), "<stderr>", "w", -1,
 				      NULL, "\n"))) {
             goto error;
         }