[Python-3000-checkins] r62802 - in python/branches/py3k/Lib: io.py test/test_memoryio.py
alexandre.vassalotti
python-3000-checkins at python.org
Wed May 7 01:47:23 CEST 2008
Author: alexandre.vassalotti
Date: Wed May 7 01:47:23 2008
New Revision: 62802
Log:
Fixed a small bug introduced by r62778.
One of the codepaths of _BytesIO.read() returned a bytearray
object, by mistake, when it should always return a bytes object.
Interestingly, the fact this bug shown up probably means that
some platforms are not using the new C-accelerated io.BytesIO.
Modified:
python/branches/py3k/Lib/io.py
python/branches/py3k/Lib/test/test_memoryio.py
Modified: python/branches/py3k/Lib/io.py
==============================================================================
--- python/branches/py3k/Lib/io.py (original)
+++ python/branches/py3k/Lib/io.py Wed May 7 01:47:23 2008
@@ -794,7 +794,7 @@
if n < 0:
n = len(self._buffer)
if len(self._buffer) <= self._pos:
- return self._buffer[:0]
+ return bytes(self._buffer[:0])
newpos = min(len(self._buffer), self._pos + n)
b = self._buffer[self._pos : newpos]
self._pos = newpos
Modified: python/branches/py3k/Lib/test/test_memoryio.py
==============================================================================
--- python/branches/py3k/Lib/test/test_memoryio.py (original)
+++ python/branches/py3k/Lib/test/test_memoryio.py Wed May 7 01:47:23 2008
@@ -114,6 +114,8 @@
self.assertEqual(memio.read(-1), buf)
memio.seek(0)
self.assertEqual(type(memio.read()), type(buf))
+ memio.seek(100)
+ self.assertEqual(type(memio.read()), type(buf))
memio.seek(0)
self.assertEqual(memio.read(None), buf)
self.assertRaises(TypeError, memio.read, '')
More information about the Python-3000-checkins
mailing list