summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2007-10-29 17:39:59 (GMT)
committerGuido van Rossum <guido@python.org>2007-10-29 17:39:59 (GMT)
commit6203d8fa11eeabac83e908687cc03c1c001a3f8a (patch)
tree55a7b3f83e08d97ec57bb1ed1b593991dc476ec8
parent3db4686b61a04e2017ac840dadeaf26ddf3f4730 (diff)
downloadcpython-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.py8
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'):