Choosing the right encoding is a tricky business...
authorschwarze <schwarze@openbsd.org>
Fri, 25 Jul 2014 21:05:38 +0000 (21:05 +0000)
committerschwarze <schwarze@openbsd.org>
Fri, 25 Jul 2014 21:05:38 +0000 (21:05 +0000)
commit5e8c02716c0b251707eff901ba9803c3507861b1
tree317b1a9da6e6648be81516f2c06b241c794500ad
parentbe1df4d381c6640d5679cb48952b186fbe9cb705
Choosing the right encoding is a tricky business...

Printing query strings for URIs *always* needs URI-encoding, and when
embedding the URI into an HTML document, it needs replacement of
the "&" separators by "&amp;" *in addition to that*, not instead.
Delete the function html_primtquery(), it was completely wrong.

You can see the badness by entering "mandoc &sec=2" into the query input
box before this patch and click "Submit".  You come to the right page at
first (...man.cgi?query=mandoc+%26sec%3D2&apropos=0&sec=0&...), but now
the link to mandoc(1) is wrong: ...mandoc.1?query=mandoc &amp;sec=2&amp;...
Clicking on that, the "&sec=2" disappears from the query input box and
suddenly you have the first dropdown set to "2 - System Calls".  Oops.
usr.bin/mandoc/cgi.c