summaryrefslogtreecommitdiffstats
path: root/Lib/macpath.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2014-10-04 11:58:43 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2014-10-04 11:58:43 (GMT)
commit3deeeb0c39ee4fcc1949d127f95702edbed56943 (patch)
tree3e9963cadcb3320b1658f3187b937470c47acd71 /Lib/macpath.py
parent385328bf761969a761d48727bfec88dccf4fe641 (diff)
downloadcpython-3deeeb0c39ee4fcc1949d127f95702edbed56943.zip
cpython-3deeeb0c39ee4fcc1949d127f95702edbed56943.tar.gz
cpython-3deeeb0c39ee4fcc1949d127f95702edbed56943.tar.bz2
Issue #21883: os.path.join() and os.path.relpath() now raise a TypeError with
more helpful error message for unsupported or mismatched types of arguments.
Diffstat (limited to 'Lib/macpath.py')
-rw-r--r--Lib/macpath.py32
1 files changed, 18 insertions, 14 deletions
diff --git a/Lib/macpath.py b/Lib/macpath.py
index 5ca0097..dbcf368 100644
--- a/Lib/macpath.py
+++ b/Lib/macpath.py
@@ -50,20 +50,24 @@ def isabs(s):
def join(s, *p):
- colon = _get_colon(s)
- path = s
- for t in p:
- if (not path) or isabs(t):
- path = t
- continue
- if t[:1] == colon:
- t = t[1:]
- if colon not in path:
- path = colon + path
- if path[-1:] != colon:
- path = path + colon
- path = path + t
- return path
+ try:
+ colon = _get_colon(s)
+ path = s
+ for t in p:
+ if (not path) or isabs(t):
+ path = t
+ continue
+ if t[:1] == colon:
+ t = t[1:]
+ if colon not in path:
+ path = colon + path
+ if path[-1:] != colon:
+ path = path + colon
+ path = path + t
+ return path
+ except (TypeError, AttributeError, BytesWarning):
+ genericpath._check_arg_types('join', s, *p)
+ raise
def split(s):