]> granicus.if.org Git - python/commitdiff
Use local variables in StringIO.write().
authorRaymond Hettinger <python@rcn.com>
Thu, 23 Sep 2004 06:43:25 +0000 (06:43 +0000)
committerRaymond Hettinger <python@rcn.com>
Thu, 23 Sep 2004 06:43:25 +0000 (06:43 +0000)
Makes it easier on the eyes and a bit more snappy.

Lib/StringIO.py

index 1b9fa7b3daa877620d1de5906171c04788f439c6..a43e5d44c5434c7488e5df5634afae5d81f8d607 100644 (file)
@@ -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)