summaryrefslogtreecommitdiffstats
path: root/mandocdb.c
Commit message (Collapse)AuthorAgeFilesLines
* merge small style improvements from christos@ to the 1.13 branchIngo Schwarze2017-02-171-2/+2
|
* merge rev 1.242: warn about missing one-line descriptionIngo Schwarze2017-01-271-4/+8
|
* merge rev. 1.241: parse section number from the content of preformatted pagesIngo Schwarze2017-01-271-13/+30
|
* merge rev. 1.240: default to preformatted, not to man(7)Ingo Schwarze2017-01-271-14/+19
|
* merge rev. 1.239: fix base directory detection for makewhatis -tIngo Schwarze2017-01-271-0/+14
|
* merge rev. 1.237: completion of NODE_NOSRC workIngo Schwarze2017-01-111-2/+2
|
* merge rev. 1.236: NODE_NOSRC and NODE_NOPRT for .Bx and .AtIngo Schwarze2017-01-101-2/+2
|
* merge rev. 1.235: use NODE_NOSRC for .Ux, .Ox, and friendsIngo Schwarze2017-01-101-130/+135
|
* merge 1.234: cast off_t and uint64_t for printf(3)Ingo Schwarze2016-10-221-1/+2
|
* merge reproducible build support including compat glue to 1.13 branch:Ingo Schwarze2016-10-201-14/+31
| | | | mandocdb.c 1.231 & 1.232; configure 1.52 & 1.53; configure.local.example 1.21
* merge rev. 1.233: 0x%llu is a bad idea, make that 0x%llxIngo Schwarze2016-10-201-1/+1
|
* merge rev. 1.226: fix a typo that prevented names from .DtIngo Schwarze2016-10-201-93/+371
| | | | from getting priority over names from .Sh NAME
* Now that our man.conf(5) format is mature and extremely simple,Ingo Schwarze2016-07-191-2/+1
| | | | | | | | delete manpath(1) support. With the mandoc-based man(1), manpath(1) is utterly useless. Just set MANPATH_DEFAULT in configure.local for sane operating system defaults, use man.conf(5) for machine- specific modifications, and use ${MANPATH}, -m, and -M for user preferences.
* Remove the dependency on SQLite without loss of functionality.Ingo Schwarze2016-07-191-368/+91
| | | | | Stop supporting systems that don't have mmap(3). Drop the obsolete names_check() now that we deleted MLINKS.
* Use __attribute__((__format__ throughout.Ingo Schwarze2016-07-191-3/+4
| | | | | | | Triggered by a smaller patch from Christos Zoulas. While here, unify style, move several config tests to config.h, and delete the useless MANDOC_CONFIG_H.
* add missing prototypes, no code change;Ingo Schwarze2016-07-151-0/+3
| | | | noticed by Christos Zoulas with -Wmissing-prototypes
* Add support for Mac OS X's sandbox_init(3) sandbox functionality, whichKristaps Dzonsons2016-07-121-0/+10
| | | | | | | is marked as DEPRECATED in OS X after 2011 or so, but has not been removed and has no replacement. ok schwarze@
* getopt(3) is declared in <unistd.h>, and <getopt.h> is not needed;Ingo Schwarze2016-07-091-1/+0
| | | | from Joerg Sonnenberger via Thomas Klausner, NetBSD.
* 'accomodate' -> 'accommodate' in a comment.Ingo Schwarze2016-03-171-1/+1
| | | | From krw@, started by a diff from Mical Mazurek.
* Delete the redundant "nchild" member of struct roff_node, replacingIngo Schwarze2016-01-081-8/+9
| | | | | | | | most uses by one, a few by two pointer checks, and only one by a tiny loop - not only making data smaller, but code shorter as well. This gets rid of an implicit invariant that confused both static analysis tools and human auditors. No functional change.
* Prefer warn(3) over perror(3) at the few places where it was used.Ingo Schwarze2016-01-081-3/+3
| | | | | It is useful to see the program name, and we have err.h compat in place anyway. Suggested by Christos Zoulas (NetBSD).
* Simplify the mparse_open() interface.Ingo Schwarze2016-01-081-2/+1
| | | | | | Just return the file descriptor or -1 on error; there is just one kind of error anyway. Suggested by Christos Zoulas (NetBSD).
* It was very surprising that a function called mparse_readfd()Ingo Schwarze2016-01-081-0/+1
| | | | | | | | | | | | | closed the file descriptor passed to it after completing its work, in particular considering the fact that it required its callers to call open(2) or mparse_open() beforehand. Change mparse_readfd() to not call close(2) and change the callers to call close(2) afterwards, more or less bringing open and close to the same level of the code and making review easier. Note that man.cgi(8) already did that, even though it was wrong in the past. Small restructuring suggested by Christos Zoulas (NetBSD).
* Improve handling of .Va and .Vt macros.Ingo Schwarze2016-01-041-13/+28
| | | | | | | tedu@ noticed that no Vt= database entries were generated. Serguey Parkhomovsky suggested the deletion of parse_mdoc_body(). tb@ noticed that the fix requires more than just adding TYPE_Vt to the MDOC_Vt mask in the mdoc_handler array.
* pledge(2) style:Ingo Schwarze2015-12-151-8/+11
| | | | | | | Make sure to always use the idiom 'if (pledge("' such that it can easily be searched for. No functional change. Requested by deraadt@ some time ago.
* Modernization, no functional change intended:Ingo Schwarze2015-11-071-17/+21
| | | | | | Use the POSIX function getline(3) rather than the slightly dangerous BSD function fgetln(3). Remove the related compatibility code.
* Without HAVE_ERR, don't try to include <err.h>, it probably isn't there.Ingo Schwarze2015-11-071-0/+2
| | | | | In that case, the required prototypes are in "config.h". Patch from Peter Bray <pdb_ml at yahoo dot com dot au>.
* merge pledge(2) support from OpenBSDIngo Schwarze2015-11-061-0/+22
|
* Use getprogname(3) rather than __progname.Ingo Schwarze2015-11-061-5/+3
| | | | | | | Suggested by Joerg@ Sonnenberger (NetBSD). Last year, deraadt@ confirmed on tech@ that this "has the potential to be more portable", and micro-optimizing for speed is not relevant here. Also gets rid of one global variable.
* use the new function man_validate() here, tooIngo Schwarze2015-10-221-0/+1
|
* In order to become able to generate syntax tree nodes on the roff(7)Ingo Schwarze2015-10-201-0/+1
| | | | | | | | 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.
* Major character table cleanup:Ingo Schwarze2015-10-131-7/+5
| | | | | | | | | | | | | * 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.
* Reduce the amount of code by moving the three copies of the ohashIngo Schwarze2015-10-131-51/+9
| | | | | callback functions into one common place, preparing for the use of ohash for some additional purposes. No functional change.
* Garbage collect an unused variable, no functional change;Ingo Schwarze2015-10-121-3/+2
| | | | found by Svyatoslav Mishyn <juef at openmailbox dot org> with cppcheck.
* Clear dform and dsec when exiting a first-level directory in treescan().Ingo Schwarze2015-10-121-19/+22
| | | | | Fixes a segfault reported by bentley@. While here, do some style cleanup in the same function.
* To make the code more readable, delete 283 /* FALLTHROUGH */ commentsIngo Schwarze2015-10-121-6/+0
| | | | | | that were right between two adjacent case statement. Keep only those 24 where the first case actually executes some code before falling through to the next case.
* Finally use __progname, err(3) and warn(3).Ingo Schwarze2015-10-111-16/+9
| | | | | | | | | | That's more readable and less error-prone than fumbling around with argv[0], fprintf(3), strerror(3), perror(3), and exit(3). It's a bad idea to boycott good interfaces merely because standards committees ignore them. Instead, let's provide compatibility modules for archaic systems (like commercial Solaris) that still don't have them. The compat module has an UCB Copyright (c) 1993...
* modernize style: "return" is not a functionIngo Schwarze2015-10-061-42/+42
|
* for portability, use (char *)NULL in execlp(3) as discussed on tech@ OpenBSDIngo Schwarze2015-09-161-2/+2
| | | | (didn't blow up anywhere yet, but better safe than sorry)
* Do not fork and exec gunzip(1), just link with libz instead.Ingo Schwarze2015-07-191-4/+0
| | | | | | | As discussed with deraadt@, that's cleaner and will help tame(2). Something like this was also suggested earlier by bapt at FreeBSD. Minus 50 lines of code, deleting one interface function (mparse_wait), no functional change intended.
* Unify mdoc_deroff() and man_deroff() into a common function deroff().Ingo Schwarze2015-04-231-2/+2
| | | | | | | | No functional change except that for mdoc(7), it now skips leading escape sequences just like it already did for man(7). Escape sequences rarely occur in mdoc(7) code and if they do, skipping them is an improvement in this context. Minus 30 lines of code.
* Delete the wrapper functions mdoc_meta(), man_meta(), mdoc_node(),Ingo Schwarze2015-04-181-8/+7
| | | | | | man_node() from the mandoc(3) semi-public interface and the internal wrapper functions print_mdoc() and print_man() from the HTML formatters. Minus 60 lines of code, no functional change.
* Profit from the unified struct roff_man and reduce the number ofIngo Schwarze2015-04-181-10/+8
| | | | | arguments of mparse_result() by one. No functional change. Written on the ICE Bruxelles-Koeln on the way back from p2k15.
* Replace the structs mdoc and man by a unified struct roff_man.Ingo Schwarze2015-04-181-2/+2
| | | | | Almost completely mechanical, no functional change. Written on the train from Exeter to London returning from p2k15.
* Third step towards parser unification:Ingo Schwarze2015-04-021-23/+23
| | | | | Replace struct mdoc_meta and struct man_meta by a unified struct roff_meta. Written of the train from London to Exeter on the way to p2k15.
* Second step towards parser unification:Ingo Schwarze2015-04-021-28/+28
| | | | | | | | | Replace struct mdoc_node and struct man_node by a unified struct roff_node. To be able to use the tok member for both mdoc(7) and man(7) without defining all the macros in roff.h, sacrifice a tiny bit of type safety and make tok an int rather than an enum. Almost mechanical, no functional change. Written on the Eurostar from Bruxelles to London on the way to p2k15.
* First step towards parser unification:Ingo Schwarze2015-04-021-22/+23
| | | | | | Replace enum mdoc_type and enum man_type by a unified enum roff_type. Almost mechanical, no functional change. Written on the ICE train from Frankfurt to Bruxelles on the way to p2k15.
* Parse the new man.conf(5) "output" directive.Ingo Schwarze2015-03-271-22/+22
| | | | The next step will be to actually use the parsed data.
* Fix hardlink detection on platforms having padding in struct inodev,Ingo Schwarze2015-03-131-0/+1
| | | | | | typically 64bit platforms. This was basically broken since forever. Not only is the padding used, but it was used uninitialized. Problem reported by jmc@.
* When makewhatis(8) scans a tree, ignore trailing garbage on filenames.Ingo Schwarze2015-02-271-1/+2
| | | | | | | | | | This is relevant because some ports install files like man1/xsel.1x, as reported by patrick keshishian <pkeshish at gmail dot com> on misc@. We can probably improve functionality and simplify the code by ignoring file name extensions altogether; we already know the section number from the name of the directory. But so close to lock, i'm keeping the fix minimal.