mirror of
https://github.com/python/cpython.git
synced 2025-08-01 07:33:08 +00:00
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:
parent
cd8001c8ed
commit
844f757aae
1 changed files with 6 additions and 6 deletions
12
Lib/io.py
12
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):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue