diff options
author | Guido van Rossum <guido@python.org> | 1993-07-06 15:19:36 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1993-07-06 15:19:36 (GMT) |
commit | df5638662d95c08d48da0ac236dec4e44e93874e (patch) | |
tree | eecddf3bcbd5da4f4a5a922a577500f3ab4095db /Lib/posixpath.py | |
parent | f1dc56632881fe4e5beed047580bf927679f3669 (diff) | |
download | cpython-df5638662d95c08d48da0ac236dec4e44e93874e.zip cpython-df5638662d95c08d48da0ac236dec4e44e93874e.tar.gz cpython-df5638662d95c08d48da0ac236dec4e44e93874e.tar.bz2 |
* posixpath.py: Fix border cases in normpath ('/foo/..' should return '/')
* ftplib.py: made cwd() use 'CDUP' when dirname is '..'
* FL.py: added new constant FL_PLACE_FULLSCREEN
Diffstat (limited to 'Lib/posixpath.py')
-rw-r--r-- | Lib/posixpath.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/Lib/posixpath.py b/Lib/posixpath.py index 57b0af6..96116d1 100644 --- a/Lib/posixpath.py +++ b/Lib/posixpath.py @@ -270,10 +270,12 @@ def expandvars(path): def normpath(path): import string + # Treat initial slashes specially + slashes = '' + while path[:1] == '/': + slashes = slashes + '/' + path = path[1:] comps = string.splitfields(path, '/') - # If the path begins with '/', comps[0] is '', which we leave alone; - # we also leave leading multiple slashes alone for compatibility - # with certain networking naming schemes using //host/path i = 0 while i < len(comps): if comps[i] == '.': @@ -287,6 +289,6 @@ def normpath(path): else: i = i+1 # If the path is now empty, substitute '.' - if not comps: + if not comps and not slashes: comps.append('.') - return string.joinfields(comps, '/') + return slashes + string.joinfields(comps, '/') |