On 14 Feb 2014, at 10:44, Sven Van Caekenberghe <[email protected]> wrote:

> So any percent-encoded character is accepted [ but being encoded means that 
> its meaning as structuring element is lost, consider $/ ], not necessarily 
> encoded on output.

Right, but here the exact opposite happens. 
A reserved character (+) was included as an encoded character (%2B), gets 
correctly decoded by Zinc but then never gets encoded again when printing the 
url, hence become a structuring element representing a space in the printed 
url. 

Because a WAUrl is constructed from incoming ZnUrl's printString, the WAUrl 
gets to read the '+' instead of the '%2B'.

The following code snippet is now true, but should be false imho:

(ZnUrl fromString: (ZnUrl fromString: 'http://localhost/?param=foo%2Bbar') 
printString) printString = 'http://localhost/?param=foo%20bar'

Johan

Reply via email to