(Patch #102698) Fix for a bug reported by Wade Leftwich:

StreamReader ignores the 'errors' parameter passed to its constructor
This commit is contained in:
Andrew M. Kuchling 2000-12-10 15:12:14 +00:00
parent 2f1aeb950d
commit c6c2838403
1 changed files with 4 additions and 4 deletions

View File

@ -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):