Cleaned up io._BytesIO.write().

I am amazed that the old code, for inserting null-bytes, actually
worked. Who wrote that thing? Oh, it is me... doh.
This commit is contained in:
Alexandre Vassalotti 2008-05-10 19:59:16 +00:00
parent cd8001c8ed
commit 844f757aae

View file

@ -826,14 +826,14 @@ class _BytesIO(BufferedIOBase):
n = len(b)
if n == 0:
return 0
newpos = self._pos + n
if newpos > len(self._buffer):
pos = self._pos
if pos > len(self._buffer):
# Inserts null bytes between the current end of the file
# and the new write position.
padding = b'\x00' * (newpos - len(self._buffer) - n)
self._buffer[self._pos:newpos - n] = padding
self._buffer[self._pos:newpos] = b
self._pos = newpos
padding = b'\x00' * (pos - len(self._buffer))
self._buffer += padding
self._buffer[pos:pos + n] = b
self._pos += n
return n
def seek(self, pos, whence=0):