From: Guido van Rossum Date: Mon, 29 Oct 2007 17:39:59 +0000 (+0000) Subject: Patch 1341 by Amaury Forgeot d'Arc. X-Git-Tag: v3.0a2~256 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6203d8fa11eeabac83e908687cc03c1c001a3f8a;p=python 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"). --- diff --git a/Lib/fileinput.py b/Lib/fileinput.py index 0d7ffada8c..e4c71ced6d 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'):