[Python-checkins] python/dist/src/Lib StringIO.py,1.35,1.36

rhettinger at users.sourceforge.net rhettinger at users.sourceforge.net
Thu Sep 23 08:43:27 CEST 2004


Update of /cvsroot/python/python/dist/src/Lib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13791

Modified Files:
	StringIO.py 
Log Message:
Use local variables in StringIO.write().
Makes it easier on the eyes and a bit more snappy.



Index: StringIO.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/StringIO.py,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- StringIO.py	14 Mar 2004 07:54:37 -0000	1.35
+++ StringIO.py	23 Sep 2004 06:43:25 -0000	1.36
@@ -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)



More information about the Python-checkins mailing list