[Python-checkins] python/dist/src/Lib mailbox.py,1.41,1.42
akuchling at users.sourceforge.net
akuchling at users.sourceforge.net
Wed Jul 7 16:09:24 CEST 2004
Update of /cvsroot/python/python/dist/src/Lib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7754
Modified Files:
mailbox.py
Log Message:
[Bug #925107] Make .readline() consider self.stop. This makes read() and readline() very similar, so they're refactored into _read. Patch by Johannes Gijsbers.
2.3 bugfix candidate.
Index: mailbox.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/mailbox.py,v
retrieving revision 1.41
retrieving revision 1.42
diff -C2 -d -r1.41 -r1.42
*** mailbox.py 7 Feb 2004 02:16:24 -0000 1.41
--- mailbox.py 7 Jul 2004 14:09:21 -0000 1.42
***************
*** 44,69 ****
self.pos = self.start
! def read(self, length = None):
if self.pos >= self.stop:
return ''
remaining = self.stop - self.pos
! if length is None or length < 0:
! length = remaining
! elif length > remaining:
length = remaining
self.fp.seek(self.pos)
! data = self.fp.read(length)
self.pos = self.fp.tell()
return data
def readline(self, length = None):
! if self.pos >= self.stop:
! return ''
! if length is None:
! length = self.stop - self.pos
! self.fp.seek(self.pos)
! data = self.fp.readline(length)
! self.pos = self.fp.tell()
! return data
def readlines(self, sizehint = -1):
--- 44,64 ----
self.pos = self.start
!
! def _read(self, length, read_function):
if self.pos >= self.stop:
return ''
remaining = self.stop - self.pos
! if length is None or length < 0 or length > remaining:
length = remaining
self.fp.seek(self.pos)
! data = read_function(length)
self.pos = self.fp.tell()
return data
+ def read(self, length = None):
+ self._read(length, self.fp.read)
+
def readline(self, length = None):
! self._read(length, self.fp.readline)
def readlines(self, sizehint = -1):
More information about the Python-checkins
mailing list