Commit 86ec87de authored by Serhiy Storchaka's avatar Serhiy Storchaka

Issue #11311: StringIO.readline(0) now returns an empty string as all other

file-like objects.
parent 7097627c
...@@ -158,7 +158,7 @@ class StringIO: ...@@ -158,7 +158,7 @@ class StringIO:
newpos = self.len newpos = self.len
else: else:
newpos = i+1 newpos = i+1
if length is not None and length > 0: if length is not None and length >= 0:
if self.pos + length < newpos: if self.pos + length < newpos:
newpos = self.pos + length newpos = self.pos + length
r = self.buf[self.pos:newpos] r = self.buf[self.pos:newpos]
......
...@@ -28,6 +28,8 @@ class TestGenericStringIO(unittest.TestCase): ...@@ -28,6 +28,8 @@ class TestGenericStringIO(unittest.TestCase):
eq = self.assertEqual eq = self.assertEqual
self.assertRaises(TypeError, self._fp.seek) self.assertRaises(TypeError, self._fp.seek)
eq(self._fp.read(10), self._line[:10]) eq(self._fp.read(10), self._line[:10])
eq(self._fp.read(0), '')
eq(self._fp.readline(0), '')
eq(self._fp.readline(), self._line[10:] + '\n') eq(self._fp.readline(), self._line[10:] + '\n')
eq(len(self._fp.readlines(60)), 2) eq(len(self._fp.readlines(60)), 2)
self._fp.seek(0) self._fp.seek(0)
......
...@@ -205,6 +205,9 @@ Core and Builtins ...@@ -205,6 +205,9 @@ Core and Builtins
Library Library
------- -------
- Issue #11311: StringIO.readline(0) now returns an empty string as all other
file-like objects.
- Issue #16800: tempfile.gettempdir() no longer left temporary files when - Issue #16800: tempfile.gettempdir() no longer left temporary files when
the disk is full. Original patch by Amir Szekely. the disk is full. Original patch by Amir Szekely.
......
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