url_decode: URL scheme ends with a colon and does not require a slash

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano 2010-06-24 13:36:30 -07:00
parent ce83eda155
commit 3c73a1d57f

8
url.c
View File

@ -103,12 +103,12 @@ static char *url_decode_internal(const char **query, const char *stop_at, struct
char *url_decode(const char *url)
{
struct strbuf out = STRBUF_INIT;
const char *slash = strchr(url, '/');
const char *colon = strchr(url, ':');
/* Skip protocol part if present */
if (slash && url < slash) {
strbuf_add(&out, url, slash - url);
url = slash;
if (colon && url < colon) {
strbuf_add(&out, url, colon - url);
url = colon;
}
return url_decode_internal(&url, NULL, &out);
}