diff Lib/StringIO.py @ 33544:d6071a05ba84 legacy-trunk

Use local variables in StringIO.write(). Makes it easier on the eyes and a bit more snappy.
author Raymond Hettinger <python@rcn.com>
date Thu, 23 Sep 2004 06:43:25 +0000
parents 88e9c0444d4d
children 6d055a275b4b
line wrap: on
line diff
--- a/Lib/StringIO.py	Thu Sep 23 04:37:36 2004 +0000
+++ b/Lib/StringIO.py	Thu Sep 23 06:43:25 2004 +0000
@@ -215,21 +215,22 @@
         # 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)