diff options
author | Georg Brandl <georg@python.org> | 2005-08-03 07:30:12 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2005-08-03 07:30:12 (GMT) |
commit | 649f8e7de2ad8fc42748b56e8e64574478d2d7fe (patch) | |
tree | 740d59f0b6fa4754093eb7c2f4165688c4f68642 /Lib/macpath.py | |
parent | b370059233f0833dc2768422aee93a728eebbf26 (diff) | |
download | cpython-649f8e7de2ad8fc42748b56e8e64574478d2d7fe.zip cpython-649f8e7de2ad8fc42748b56e8e64574478d2d7fe.tar.gz cpython-649f8e7de2ad8fc42748b56e8e64574478d2d7fe.tar.bz2 |
patch [ 1105730 ] Faster commonprefix in macpath, ntpath, etc.
Diffstat (limited to 'Lib/macpath.py')
-rw-r--r-- | Lib/macpath.py | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/Lib/macpath.py b/Lib/macpath.py index f50f660..dc7f753 100644 --- a/Lib/macpath.py +++ b/Lib/macpath.py @@ -175,14 +175,14 @@ def lexists(path): def commonprefix(m): "Given a list of pathnames, returns the longest common leading component" if not m: return '' - prefix = m[0] - for item in m: - for i in range(len(prefix)): - if prefix[:i+1] != item[:i+1]: - prefix = prefix[:i] - if i == 0: return '' - break - return prefix + s1 = min(m) + s2 = max(m) + n = min(len(s1), len(s2)) + for i in xrange(n): + if s1[i] != s2[i]: + return s1[:i] + return s1[:n] + def expandvars(path): """Dummy to retain interface-compatibility with other operating systems.""" |