]> granicus.if.org Git - python/commitdiff
Patch #1014992: Never return more than a line from readline.
authorMartin v. Löwis <martin@v.loewis.de>
Wed, 25 Aug 2004 10:52:58 +0000 (10:52 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Wed, 25 Aug 2004 10:52:58 +0000 (10:52 +0000)
Will backport to 2.3.

Lib/tarfile.py

index 2d5bf642aef611bf4c508eeba8f2c217638d7448..06d859087bd89711e4394dd5e2cc478de9bfbe7d 100644 (file)
@@ -509,14 +509,12 @@ class ExFileObject(object):
             nl = min(nl, size)
         else:
             size -= len(self.linebuffer)
-            while nl < 0:
+            while (nl < 0 and size > 0):
                 buf = self.read(min(size, 100))
                 if not buf:
                     break
                 self.linebuffer += buf
                 size -= len(buf)
-                if size <= 0:
-                    break
                 nl = self.linebuffer.find("\n")
             if nl == -1:
                 s = self.linebuffer