diff options
Diffstat (limited to 'Lib/posixpath.py')
-rw-r--r-- | Lib/posixpath.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/Lib/posixpath.py b/Lib/posixpath.py index 14b9270..1be5d29 100644 --- a/Lib/posixpath.py +++ b/Lib/posixpath.py @@ -118,14 +118,21 @@ def dirname(p): 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: + n = m[:] + for i in range(len(n)): + n[i] = n[i].split(os.sep) + # if os.sep didn't have any effect, try os.altsep + if os.altsep and len(n[i]) == 1: + n[i] = n[i].split(os.altsep) + + prefix = n[0] + for item in n: for i in range(len(prefix)): if prefix[:i+1] <> item[:i+1]: prefix = prefix[:i] if i == 0: return '' break - return prefix + return os.sep.join(prefix) # Get size, mtime, atime of files. |