summaryrefslogtreecommitdiffstats
path: root/Lib/fileinput.py
diff options
context:
space:
mode:
authorInada Naoki <songofacandy@gmail.com>2022-07-24 02:42:11 (GMT)
committerGitHub <noreply@github.com>2022-07-24 02:42:11 (GMT)
commit5c7f3bcdafedd60a385e8ca5403bc6b0b7a862b3 (patch)
tree20edad2c555adf96dbf4350a3cc88f9742b667e4 /Lib/fileinput.py
parenta2fbc511985f77c16c0f4a6fc6d3da9ab81a86b7 (diff)
downloadcpython-5c7f3bcdafedd60a385e8ca5403bc6b0b7a862b3.zip
cpython-5c7f3bcdafedd60a385e8ca5403bc6b0b7a862b3.tar.gz
cpython-5c7f3bcdafedd60a385e8ca5403bc6b0b7a862b3.tar.bz2
gh-93157: Fix fileinput didn't support `errors` in `inplace` mode (GH-95128)
Diffstat (limited to 'Lib/fileinput.py')
-rw-r--r--Lib/fileinput.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/Lib/fileinput.py b/Lib/fileinput.py
index 9f41c18..e234dc9 100644
--- a/Lib/fileinput.py
+++ b/Lib/fileinput.py
@@ -335,18 +335,21 @@ class FileInput:
pass
# The next few lines may raise OSError
os.rename(self._filename, self._backupfilename)
- self._file = open(self._backupfilename, self._mode, encoding=encoding)
+ self._file = open(self._backupfilename, self._mode,
+ encoding=encoding, errors=self._errors)
try:
perm = os.fstat(self._file.fileno()).st_mode
except OSError:
- self._output = open(self._filename, self._write_mode, encoding=encoding)
+ self._output = open(self._filename, self._write_mode,
+ encoding=encoding, errors=self._errors)
else:
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, self._write_mode, encoding=encoding)
+ self._output = os.fdopen(fd, self._write_mode,
+ encoding=encoding, errors=self._errors)
try:
os.chmod(self._filename, perm)
except OSError: