| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
that is, for the index page, for the noresult page, and for the
result of an apropos(1) query with more than one page.
As noted by bentley@, when a manual page is displayed, it is more
important that people can quickly use the space bar for paging and
Ctrl-F for searching.
|
|
|
|
| |
Patch from Fabian dot Raetz at gmail dot com.
|
|
|
|
|
| |
as parsers, page generators, and result generators more obvious.
No functional change.
|
| |
|
|
|
|
| |
architecture subdirectory are specified. Issue reported by tb@.
|
|
|
|
| |
html.c does.
|
|
|
|
| |
down to the currently unsupported entries.
|
|
|
|
|
|
|
|
|
| |
file, for example "/OpenBSD-5.9/man2/pledge.2", no database query
is needed and the file is delivered directly.
But even in this case, let's parse the PATH_INFO and fill the query
structure such that the search form at the top of the result page
gets pre-filled with useful values.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
the same name in sections with an alphabetical suffix; same logic
as in main.c rev. 1.264.
|
|
|
|
|
| |
in part based on ideas by bentley@.
While here, improve the documentation.
|
| |
|
| |
|
|
|
|
|
| |
Clean, simple URLs are best.
Patch from bentley@.
|
|
|
|
|
|
| |
Use the POSIX function getline(3) rather than the slightly
dangerous BSD function fgetln(3).
Remove the related compatibility code.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
compiled-in string. This is not a security risk, we read the file
manpath.conf from the same directory, anyway. No error handling
is needed; even if the files are absent, that's not an error.
This is more flexible without causing complication of the code or
the user interface. It helps the upcoming revamp of the online
manual pages on man.NetBSD.org.
Based on an idea by Jean-Yves Migeon <jeanyves dot migeon at free dot fr>,
but implemented in a much simpler way.
|
|
|
|
| |
Many thanks to bentley@ for doing this work.
|
| |
|
|
|
|
|
|
|
|
| |
level, validation must be separated from parsing and rewinding.
This first big step moves calling of the mdoc(7) post_*() functions
out of the parser loop into their own mdoc_validate() pass, while
using a new mdoc_state() module to make syntax tree state handling
available to both the parser loop and the validation pass.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Use ohash(3) rather than a hand-rolled hash table.
* Make the character table static in the chars.c module:
There is no need to pass a pointer around, we most certainly
never want to use two different character tables concurrently.
* No need to keep the characters in a separate file chars.in;
that merely encourages downstream porters to mess with them.
* Sort the characters to agree with the mandoc_chars(7) manual page.
* Specify Unicode codepoints in hex, not decimal (that's the detail
that originally triggered this patch).
No functional change, minus 100 LOC, and i don't see a performance change.
|
| |
|
|
|
|
|
| |
arguments of mparse_result() by one. No functional change.
Written on the ICE Bruxelles-Koeln on the way back from p2k15.
|
|
|
|
|
| |
Almost completely mechanical, no functional change.
Written on the train from Exeter to London returning from p2k15.
|
|
|
|
| |
Additional functionality, yet minus 45 lines of code.
|
|
|
|
| |
The next step will be to actually use the parsed data.
|
|
|
|
| |
from Svyatoslav Mishyn <juef at openmailboxd dot org>, Crux Linux
|
|
|
|
|
|
| |
If a file can be opened, mandoc will produce some output;
at worst, the output may be almost empty.
Simplifies error handling and frees a message type for future use.
|
|
|
|
| |
to q.manpath and dropping the (incomplete) later NULL checks.
|
|
|
|
|
| |
that contained at least one match in order to not prefer mdoc(1) from
ports over mdoc(7). As a bonus, this results in a speedup.
|
|
|
|
|
|
|
|
| |
validity of character escape names and warn about unknown ones.
This requires mchars_spec2cp() to report unknown names again.
Fortunately, that doesn't require changing the calling code because
according to groff, invalid character escapes should not produce
output anyway, and now that we warn about them, that's fine.
|
| |
|
| |
|
|
|
|
|
|
| |
to be more similar to apropos(1) called from the shell.
Missing feature reported by Marcus MERIGHI <mcmer dash openbsd at
tor dot at> on misc@.
|
|
|
|
|
|
|
|
|
|
| |
For section 4, "Kernel Interfaces" is just too confusing,
the difference from sections 2 and 9 is too hard to see.
The 3p change was suggested by bluhm@; that part
of the manual describes more modules than functions.
Align the CGI section titles with the console section titles.
|
|
|
|
| |
attack surface pointed out by Sebastien Marie
|
|
|
|
|
|
|
|
|
| |
Switch the argmode on the progname, including man(1).
Provide -f and -k options to switch the argmode.
Store the argmode inside struct search, generalizing the flags.
Derive the deftype from the argmode when needed instead of storing it.
Store the outkey inside struct search instead of passing it alone.
While here, get rid of the trailing blanks in Makefile.depend.
|
|
|
|
|
|
| |
Include <sys/types.h> where needed, it does not belong in config.h.
Remove <stdio.h> from config.h; if it is missing somewhere, it should
be added, but i cannot find a *.c file where it is missing.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
and leave out the manpath when it is the default.
For building the HTML formatter options, do not use a static buffer.
|
|
|
|
| |
fixing an oversight introduced in rev. 1.77
|
|
|
|
|
|
|
|
|
|
|
|
| |
by the search form, it's just the order of the fields in the form.
Actually, that's not too bad; the generated URI resembles the
generating form.
To minimize confusion for people looking at URIs, give the keys
in the same order when generating URIs for search listings and
search redirections, the latter being used instead of search
listings that would have only one single entry. Also, if the
manpath is the default, remove it form the generated URIs.
|
|
|
|
| |
and avoid empty arch= keys.
|
|
|
|
| |
of XHTML syntax. Also add some cosmetic newlines to the HTML code.
|
|
|
|
|
|
| |
QUERY_STRING keys, so rename "expr" to "query".
Also add some missing function prototypes.
No functional change.
|
| |
|
|
|
|
|
|
|
|
|
| |
1. Make sure the last occurrence of each key is used, even if
it is empty, in which case it resets the value to the default.
2. When there is an HTTP encoding error, skip the affected
key-value pair only, but not all subsequent key-value pairs.
3. Do not modify a string returned from getenv(3).
4. Do not assume the NULL pointer is all null bits.
|
|
|
|
|
|
|
|
| |
By moving the sort from cgi.c to mansearch.c, we get two advantages:
Easier access to the data needed for sorting, in particular the section
number, and the apropos(1) command line utility profits as well.
Feature requested by deraadt@.
|