From: Guido van Rossum Date: Sat, 21 Jul 2007 00:25:15 +0000 (+0000) Subject: SF patch# 1757683 by Alexandre Vassalotti. Add support for X-Git-Tag: v3.0a1~601 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b972a78e17beeb997d809d87f2e422e6622efd52;p=python SF patch# 1757683 by Alexandre Vassalotti. Add support for seeking/writing beyond EOF to io.BytesIO. --- diff --git a/Lib/io.py b/Lib/io.py index ed946659ef..0054d42ea3 100644 --- a/Lib/io.py +++ b/Lib/io.py @@ -659,6 +659,11 @@ class BytesIO(BufferedIOBase): raise ValueError("write to closed file") n = len(b) newpos = self._pos + n + if newpos > len(self._buffer): + # Inserts null bytes between the current end of the file + # and the new write position. + padding = '\x00' * (newpos - len(self._buffer) - n) + self._buffer[self._pos:newpos - n] = padding self._buffer[self._pos:newpos] = b self._pos = newpos return n