From: Alexandre Vassalotti Date: Sat, 10 May 2008 19:59:16 +0000 (+0000) Subject: Cleaned up io._BytesIO.write(). X-Git-Tag: v2.6b1~527 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=844f757aae9b2e4975d4b98f8dc8b5f5fbd69608;p=python 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. --- diff --git a/Lib/io.py b/Lib/io.py index 0b6907a0ff..c45062da99 100644 --- a/Lib/io.py +++ b/Lib/io.py @@ -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):