When using the protocol git+ssh:// for example we do not want to decode the '+' as a space. This fixes a regression introduced in 9d2e942. --- url.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/url.c b/url.c index cd32b92..94a42a5 100644 --- a/url.c +++ b/url.c @@ -70,9 +70,18 @@ static int url_decode_char(const char *q) static char *url_decode_internal(const char **query, const char *stop_at) { const char *q = *query; + const char *first_slash; struct strbuf out; strbuf_init(&out, 16); + + /* Skip protocol. */ + first_slash = strchr(*query, '/'); + + while (q < first_slash) { + strbuf_addch(&out, *q++); + } + do { unsigned char c = *q; -- 1.7.1.524.g6df2f Ok, given Matthieu comments here is another version of the patch which should apply cleanly and won't clobber log message with my comments! Note that it is safe to do this in url_decode_internal as we know that here we have an url with a protocol specified. Pascal. -- --|------------------------------------------------------ --| Pascal Obry Team-Ada Member --| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE --|------------------------------------------------------ --| http://www.obry.net --| "The best way to travel is by means of imagination" --| --| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html