diff options
author | Guido van Rossum <guido@python.org> | 2007-10-29 17:39:59 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2007-10-29 17:39:59 (GMT) |
commit | 6203d8fa11eeabac83e908687cc03c1c001a3f8a (patch) | |
tree | 55a7b3f83e08d97ec57bb1ed1b593991dc476ec8 | |
parent | 3db4686b61a04e2017ac840dadeaf26ddf3f4730 (diff) | |
download | cpython-6203d8fa11eeabac83e908687cc03c1c001a3f8a.zip cpython-6203d8fa11eeabac83e908687cc03c1c001a3f8a.tar.gz cpython-6203d8fa11eeabac83e908687cc03c1c001a3f8a.tar.bz2 |
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").
-rw-r--r-- | Lib/fileinput.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Lib/fileinput.py b/Lib/fileinput.py index 0d7ffad..e4c71ce 100644 --- a/Lib/fileinput.py +++ b/Lib/fileinput.py @@ -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'): |