+ symbol in Path gets replaced with ' '
Example URI: https://launchpad.net/libmetalink/trunk/libmetalink-0.1.3/+download/libmetalink-0.1.3.tar.bz2
In iri.c (wgte_iri_unescape_inline):
} else if (*s == '+') {
*d++ = ' ';
s++;
ret = src;
continue;
}
This fragment is looking for the '+' character and replacing it with a space (' '). As you can see, this would cause a problem in the above URI where there is a + character in the path component.
Is this check even necessary? From a cursory reading of RFC 3986, I see that the '+' character may occur in the scheme, but even then I see no mention anywhere of replacing it with a space.
All tests continue to pass after I removed the check locally. If this is required, can you please add some tests for it?