summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2005-02-17 21:23:42 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2005-02-17 21:23:42 (GMT)
commitffcd65532a92dc1db6db95b15802c7d9ffe7a69c (patch)
treeba6731ba5b896d30288cba3e7c7b74b032d6e393
parent17cdedde196687bb9f3c88d1f31584b68c7eb9e5 (diff)
downloadcpython-ffcd65532a92dc1db6db95b15802c7d9ffe7a69c.zip
cpython-ffcd65532a92dc1db6db95b15802c7d9ffe7a69c.tar.gz
cpython-ffcd65532a92dc1db6db95b15802c7d9ffe7a69c.tar.bz2
Avoid using items() in environ.update(). Fixes #1124513.
-rw-r--r--Lib/os.py26
1 files changed, 18 insertions, 8 deletions
diff --git a/Lib/os.py b/Lib/os.py
index b34e413..514d440 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -438,12 +438,17 @@ else:
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 @@ else:
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: