[PATCH v3] Do not decode url protocol.
From: Pascal Obry <hidden>
Date: 2016-06-15 22:48:59
Subsystem:
the rest · Maintainer:
Linus Torvalds
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