Kaydet (Commit) 84c6fc96 authored tarafından Guido van Rossum's avatar Guido van Rossum

Patch by Ron Klatchko: fix invariant in _unread(). Also fixed

readlines() to behave like it should (return lines with "\n" appended).
üst 6fd83b7b
......@@ -174,7 +174,8 @@ class GzipFile:
self._read(readsize)
readsize = readsize * 2
except EOFError:
pass
if size > self.extrasize:
size = self.extrasize
chunk = self.extrabuf[:size]
self.extrabuf = self.extrabuf[size:]
......@@ -184,7 +185,7 @@ class GzipFile:
def _unread(self, buf):
self.extrabuf = buf + self.extrabuf
self.extrasize = len(self.extrabuf)
self.extrasize = len(buf) + self.extrasize
def _read(self, size=1024):
try:
......@@ -257,7 +258,12 @@ class GzipFile:
def readlines(self):
buf = self.read()
return string.split(buf, '\n')
lines = string.split(buf, '\n')
for i in range(len(lines)-1):
lines[i] = lines[i] + '\n'
if lines and not lines[-1]:
del lines[-1]
return lines
def writelines(self, L):
for line in L:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment