From: Guido van Rossum Date: Sun, 6 Jan 2008 02:40:07 +0000 (+0000) Subject: Forgot to backport the rest of #1637. X-Git-Tag: v2.5.2c1~87 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6e3e6e0d77896106071d35a616a07cd19a71703f;p=python Forgot to backport the rest of #1637. --- diff --git a/Lib/urlparse.py b/Lib/urlparse.py index ad5d75f681..4bc577c6fc 100644 --- a/Lib/urlparse.py +++ b/Lib/urlparse.py @@ -169,13 +169,12 @@ def _splitparams(url): return url[:i], url[i+1:] def _splitnetloc(url, start=0): - for c in '/?#': # the order is important! - delim = url.find(c, start) - if delim >= 0: - break - else: - delim = len(url) - return url[start:delim], url[delim:] + delim = len(url) # position of end of domain part of url, default is end + for c in '/?#': # look for delimiters; the order is NOT important + wdelim = url.find(c, start) # find first of this delim + if wdelim >= 0: # if found + delim = min(delim, wdelim) # use earliest delim position + return url[start:delim], url[delim:] # return (domain, rest) def urlsplit(url, scheme='', allow_fragments=True): """Parse a URL into 5 components: diff --git a/Misc/NEWS b/Misc/NEWS index 299b3af29f..7f3f628453 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -53,6 +53,8 @@ Core and builtins Library ------- +- Patch #1637: fix urlparse for URLs like 'http://x.com?arg=/foo'. + - Issue #1735: TarFile.extractall() now correctly sets directory permissions and times.