mirror of
https://github.com/python/cpython.git
synced 2025-12-04 00:30:19 +00:00
Use local variables in StringIO.write().
Makes it easier on the eyes and a bit more snappy.
This commit is contained in:
parent
7ec642a4d2
commit
0336e1fe8c
1 changed files with 11 additions and 10 deletions
|
|
@ -215,21 +215,22 @@ class StringIO:
|
|||
# Force s to be a string or unicode
|
||||
if not isinstance(s, basestring):
|
||||
s = str(s)
|
||||
if self.pos == self.len:
|
||||
spos = self.pos
|
||||
slen = self.len
|
||||
if spos == slen:
|
||||
self.buflist.append(s)
|
||||
self.len = self.pos = self.pos + len(s)
|
||||
self.len = self.pos = slen = spos = spos + len(s)
|
||||
return
|
||||
if self.pos > self.len:
|
||||
self.buflist.append('\0'*(self.pos - self.len))
|
||||
self.len = self.pos
|
||||
newpos = self.pos + len(s)
|
||||
if self.pos < self.len:
|
||||
if spos > slen:
|
||||
self.buflist.append('\0'*(spos - slen))
|
||||
slen = spos
|
||||
newpos = spos + len(s)
|
||||
if spos < slen:
|
||||
if self.buflist:
|
||||
self.buf += ''.join(self.buflist)
|
||||
self.buflist = []
|
||||
self.buflist = [self.buf[:self.pos], s, self.buf[newpos:]]
|
||||
self.buflist = [self.buf[:spos], s, self.buf[newpos:]]
|
||||
self.buf = ''
|
||||
if newpos > self.len:
|
||||
if newpos > slen:
|
||||
self.len = newpos
|
||||
else:
|
||||
self.buflist.append(s)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue