--- lib/codecs.py Wed Dec 01 18:23:14 2004 +++ lib/codecs.py Wed Dec 01 18:01:11 2004 @@ -304,22 +304,18 @@ """ if size is None: size = 10 - line = u"" - while True: - data = self.read(size) - line += data - pos = line.find("\n") - if pos>=0: - self.charbuffer = line[pos+1:] + self.charbuffer - if keepends: - line = line[:pos+1] - else: - line = line[:pos] - return line - elif not data: - return line - if size<8000: - size *= 2 + data = self.read(size) + pos = data.find("\n") + if pos>=0: + self.charbuffer = data[pos+1:] + self.charbuffer + if keepends: + data = data[:pos+1] + else: + data = data[:pos] + return data + else: + return data # Return the data directly since otherwise + # we would exceed the given size. def readlines(self, sizehint=None, keepends=True):