mirror of https://github.com/python/cpython
(Patch #102698) Fix for a bug reported by Wade Leftwich:
StreamReader ignores the 'errors' parameter passed to its constructor
This commit is contained in:
parent
2f1aeb950d
commit
c6c2838403
|
@ -205,7 +205,7 @@ class StreamReader(Codec):
|
||||||
"""
|
"""
|
||||||
# Unsliced reading:
|
# Unsliced reading:
|
||||||
if size < 0:
|
if size < 0:
|
||||||
return self.decode(self.stream.read())[0]
|
return self.decode(self.stream.read(), self.errors)[0]
|
||||||
|
|
||||||
# Sliced reading:
|
# Sliced reading:
|
||||||
read = self.stream.read
|
read = self.stream.read
|
||||||
|
@ -214,7 +214,7 @@ class StreamReader(Codec):
|
||||||
i = 0
|
i = 0
|
||||||
while 1:
|
while 1:
|
||||||
try:
|
try:
|
||||||
object, decodedbytes = decode(data)
|
object, decodedbytes = decode(data, self.errors)
|
||||||
except ValueError,why:
|
except ValueError,why:
|
||||||
# This method is slow but should work under pretty much
|
# This method is slow but should work under pretty much
|
||||||
# all conditions; at most 10 tries are made
|
# all conditions; at most 10 tries are made
|
||||||
|
@ -247,7 +247,7 @@ class StreamReader(Codec):
|
||||||
line = self.stream.readline()
|
line = self.stream.readline()
|
||||||
else:
|
else:
|
||||||
line = self.stream.readline(size)
|
line = self.stream.readline(size)
|
||||||
return self.decode(line)[0]
|
return self.decode(line,self.errors)[0]
|
||||||
|
|
||||||
|
|
||||||
def readlines(self, sizehint=0):
|
def readlines(self, sizehint=0):
|
||||||
|
@ -266,7 +266,7 @@ class StreamReader(Codec):
|
||||||
data = self.stream.read()
|
data = self.stream.read()
|
||||||
else:
|
else:
|
||||||
data = self.stream.read(sizehint)
|
data = self.stream.read(sizehint)
|
||||||
return self.decode(data)[0].splitlines(1)
|
return self.decode(data,self.errors)[0].splitlines(1)
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue