From b972a78e17beeb997d809d87f2e422e6622efd52 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Sat, 21 Jul 2007 00:25:15 +0000 Subject: SF patch# 1757683 by Alexandre Vassalotti. Add support for seeking/writing beyond EOF to io.BytesIO. --- Lib/io.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Lib/io.py b/Lib/io.py index ed94665..0054d42 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 -- cgit v0.12