Merged revisions 68884,68973,68978,69003,69083,69112-69113 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r68884 | kristjan.jonsson | 2009-01-24 04:52:26 -0600 (Sat, 24 Jan 2009) | 1 line

  Add a test for UNC import paths, see issue 3677
........
  r68973 | georg.brandl | 2009-01-26 15:29:38 -0600 (Mon, 26 Jan 2009) | 2 lines

  Copy over docs on advanced role features from Sphinx docs.
........
  r68978 | mark.dickinson | 2009-01-26 15:51:56 -0600 (Mon, 26 Jan 2009) | 3 lines

  Issue #5073: Fix occasional failure of bsddb/test/test_lock.py.  Thanks
  Hirokazu Yamamoto for the patch.
........
  r69003 | benjamin.peterson | 2009-01-26 21:07:53 -0600 (Mon, 26 Jan 2009) | 1 line

  excellent place to use a set() #5069
........
  r69083 | benjamin.peterson | 2009-01-28 21:03:00 -0600 (Wed, 28 Jan 2009) | 1 line

  fix download url
........
  r69112 | benjamin.peterson | 2009-01-29 20:02:25 -0600 (Thu, 29 Jan 2009) | 1 line

  pep8tify conditionals
........
  r69113 | benjamin.peterson | 2009-01-29 20:24:39 -0600 (Thu, 29 Jan 2009) | 1 line

  make _tkinter._flatten check the result of PySequence_Size for errors #3880
........
This commit is contained in:
Benjamin Peterson 2009-01-30 03:39:35 +00:00
parent 90eaaf623a
commit c4bbc8d7dc
6 changed files with 89 additions and 37 deletions

View file

@ -403,12 +403,12 @@ def _resolve_link(path):
until we either arrive at something that isn't a symlink, or
encounter a path we've seen before (meaning that there's a loop).
"""
paths_seen = []
paths_seen = set()
while islink(path):
if path in paths_seen:
# Already seen this path, so we must have a symlink loop
return None
paths_seen.append(path)
paths_seen.add(path)
# Resolve where the link points to
resolved = os.readlink(path)
if not isabs(resolved):