From: Raymond Hettinger Date: Thu, 23 Sep 2004 06:43:25 +0000 (+0000) Subject: Use local variables in StringIO.write(). X-Git-Tag: v2.4b1~214 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0336e1fe8cd1fc7c7d6d710261305111fbbe1d52;p=python Use local variables in StringIO.write(). Makes it easier on the eyes and a bit more snappy. --- diff --git a/Lib/StringIO.py b/Lib/StringIO.py index 1b9fa7b3da..a43e5d44c5 100644 --- a/Lib/StringIO.py +++ b/Lib/StringIO.py @@ -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)