Patch 1341 by Amaury Forgeot d'Arc.

This patch corrects test_fileinput on Windows: when redirecting stdout,
os.open should be given O_BINARY, because the file descriptor is then
wrapped in a text-mode file; os.fdopen(fd, "w").
This commit is contained in:
Guido van Rossum 2007-10-29 17:39:59 +00:00
parent 3db4686b61
commit 6203d8fa11
1 changed files with 5 additions and 3 deletions

View File

@ -326,9 +326,11 @@ class FileInput:
except OSError:
self._output = open(self._filename, "w")
else:
fd = os.open(self._filename,
os.O_CREAT | os.O_WRONLY | os.O_TRUNC,
perm)
mode = os.O_CREAT | os.O_WRONLY | os.O_TRUNC
if hasattr(os, 'O_BINARY'):
mode |= os.O_BINARY
fd = os.open(self._filename, mode, perm)
self._output = os.fdopen(fd, "w")
try:
if hasattr(os, 'chmod'):