index bf5bb9c88f751be2dd22bc49bcd9d53812cc5b94..230623657a0e06975c4721a9fddb117ba84883b1 100644 (file)
--- a/url.c
+++ b/url.c
@@ -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);
}