diff options
author | Guido van Rossum <guido@python.org> | 1998-07-20 15:24:01 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1998-07-20 15:24:01 (GMT) |
commit | 7333c4cafcbb0c0ea5ad7bed9f5f77c16a844e34 (patch) | |
tree | 957b9a88784cccec31a779567021a7bcf9d83046 | |
parent | a9f445cd8d7360e7cc9a0026bd31d3d37e8450f3 (diff) | |
download | cpython-7333c4cafcbb0c0ea5ad7bed9f5f77c16a844e34.zip cpython-7333c4cafcbb0c0ea5ad7bed9f5f77c16a844e34.tar.gz cpython-7333c4cafcbb0c0ea5ad7bed9f5f77c16a844e34.tar.bz2 |
Patch by Piet van Oostrum to avoid calculating with the result of
fp.tell() -- that won't work on Windows.
(A patch for rfc822 is still needed for one case where it finds a bad
header line and wants to back up.)
-rwxr-xr-x | Lib/mailbox.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/Lib/mailbox.py b/Lib/mailbox.py index 9cf3e07..a8f705c 100755 --- a/Lib/mailbox.py +++ b/Lib/mailbox.py @@ -52,8 +52,9 @@ class _Subfile: elif length > remaining: length = remaining self.fp.seek(self.pos) - self.pos = self.pos + length - return self.fp.read(length) + data = self.fp.read(length) + self.pos = self.fp.tell() + return data def readline(self, length = None): if self.pos >= self.stop: @@ -62,9 +63,7 @@ class _Subfile: length = self.stop - self.pos self.fp.seek(self.pos) data = self.fp.readline(length) - if len(data) < length: - length = len(data) - self.pos = self.pos + length + self.pos = self.fp.tell() return data def tell(self): @@ -79,7 +78,7 @@ class _Subfile: self.pos = self.stop + pos def close(self): - pass + del self.fp class UnixMailbox(_Mailbox): |