ReplaceDotMess() switches all \ to / in URL. This is wrong, it should not touch them after # or ?.
20 years ago
After thinking more about this, I realized this could be a no-win situation. Clearly, ReplaceDotMess() should fix the problems in any part of the URL that is part of a file path/name. But it is impossible to tell for sure what is a path and what is not. Look at: http://some.com/foo?\cgi-bin\myquery;par1\bar;"\*" Quite obviously "\cgi-bin\myquery" is a path and conversion should happen. But what about "par1\bar"? It could be a path or not. As to '"\*"', it looks like it is just a string to be passed so we probably shouldn't touch it. Should read the URL spec again to see if it has anything to say...
I have a fix for this, waiting for review ... see bug 13311 ... it is part of a bigger patch to solve some more URL parsing problems. As to the additional comments, I think heikki is right, it is a no win situation. Using ReplaceDotMess only on the path (everything before ;?#) seems to me is doing the least damage.
fix checked in ...
Status: NEW → RESOLVED
Last Resolved: 20 years ago
Resolution: --- → FIXED
Bulk move of all Necko (to be deleted component) bugs to new Networking component.
Verified these in debugger, nsStdURL:GetSpec() with following URLs: target.html?/1/3#/5/6 target.html?/1/3#/5/6/slot('?#/') target.html?/1/3#/5/6/slot('\?#/') All the member variables seem to hold correct values.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.