[Python-checkins] python/dist/src/Lib os.py,1.83.2.1,1.83.2.2

loewis at users.sourceforge.net loewis at users.sourceforge.net
Thu Feb 17 22:23:45 CET 2005


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

Modified Files:
      Tag: release24-maint
	os.py 
Log Message:
Avoid using items() in environ.update(). Fixes #1124513.


Index: os.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/os.py,v
retrieving revision 1.83.2.1
retrieving revision 1.83.2.2
diff -u -d -r1.83.2.1 -r1.83.2.2
--- os.py	29 Jan 2005 13:33:23 -0000	1.83.2.1
+++ os.py	17 Feb 2005 21:23:42 -0000	1.83.2.2
@@ -438,12 +438,17 @@
             def update(self, dict=None, **kwargs):
                 if dict:
                     try:
-                        items = dict.items()
+                        keys = dict.keys()
                     except AttributeError:
                         # List of (key, value)
-                        items = dict
-                    for k, v in items:
-                        self[k] = v
+                        for k, v in dict:
+                            self[k] = v
+                    else:
+                        # got keys
+                        # cannot use items(), since mappings
+                        # may not have them.
+                        for k in keys:
+                            self[k] = dict[k]
                 if kwargs:
                     self.update(kwargs)
             def copy(self):
@@ -460,12 +465,17 @@
             def update(self,  dict=None, **kwargs):
                 if dict:
                     try:
-                        items = dict.items()
+                        keys = dict.keys()
                     except AttributeError:
                         # List of (key, value)
-                        items = dict
-                    for k, v in items:
-                        self[k] = v
+                        for k, v in dict:
+                            self[k] = v
+                    else:
+                        # got keys
+                        # cannot use items(), since mappings
+                        # may not have them.
+                        for k in keys:
+                            self[k] = dict[k]
                 if kwargs:
                     self.update(kwargs)
             try:



More information about the Python-checkins mailing list