[#] http://marc.info/?l=openbsd-cvs&m=140632235624969&w=2
openbsd-cvs(obsdave,2) — All
2014-07-27 09:43:37


CVSROOT: /cvs
Module name: src
Changes by: schwarze@cvs.openbsd.org 2014/07/25 15:05:38

Modified files:
usr.bin/mandoc : cgi.c

Log message:
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 "&" *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 &sec=2&...
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.