summaryrefslogtreecommitdiffstats
path: root/mandocd.c
Commit message (Collapse)AuthorAgeFilesLines
* support for hunting memory leaks;Ingo Schwarze2022-04-141-2/+13
| | | | designed and written last autumn, polished today
* Make the ./configure script simpler, more robust, and 23 lines shorter:Ingo Schwarze2020-06-141-1/+1
| | | | | | | | | | * three rather than four arguments for singletest() * let runtest() support testing two variants of compiler flags * always report a failed test, even when another test follows * run all tests before detecting fatal conditions * rename HAVE_CMSG_XPG42 to NEED_XPG4_2 for consistency * consistently use braces for shell variable interpolation * drop archaic "X${" syntax and unusual "==" in string comparisons
* Reset HTML formatter state, in particular the id_unique hash,Ingo Schwarze2019-03-031-1/+3
| | | | | | | | after processing each manual page, such that the next page starts from a clean state and doesn't continue suffix numbering. Issue found while looking at https://github.com/Debian/debiman/issues/48 which was brought up by Orestis Ioannou <oorestisime at github>.
* add forgotten mparse options to two rarely used programsIngo Schwarze2019-03-031-2/+2
|
* Cleanup, no functional change:Ingo Schwarze2018-12-301-14/+8
| | | | | | | | | | | | | | The struct roff_man used to be a bad mixture of internal parser state and public parsing results. Move the public results to the parsing result struct roff_meta, which is already public. Move the rest of struct roff_man to the parser-internal header roff_int.h. Since the validators need access to the parser state, call them from the top level parser during mparse_result() rather than from the main programs, also reducing code duplication. This keeps parser internal state out of thee main programs (five in mandoc portable) and out of eight formatters.
* Major cleanup; may imply minor changes in edge cases of error reporting.Ingo Schwarze2018-12-141-1/+1
| | | | | | | | | | | Finally, drop support for the run-time configurable mandocmsg() callback. It was over-engineered from the start, never used for anything in a decade, and repeatedly caused maintenance headaches. Consolidate reporting infrastructure into two files, mandoc.h and mandoc_msg.c, mopping up the bits and pieces that were scattered around main.c, read.c, mandoc_parse.h, libmandoc.h, the prototypes of four parsing-related functions, and both parser structs.
* Cleanup, no functional change:Ingo Schwarze2018-12-131-0/+1
| | | | | | | | | | Split the top level parser interface out of the utility header mandoc.h, into a new header mandoc_parse.h, for use in the main program and in the main parser only. Move enum mandoc_os into roff.h because struct roff_man is the place where it is stored. This allows removal of mandoc.h from seven files in low-level parsers and in formatters.
* Split -Wstyle into -Wstyle and the even lower -Wbase, and addIngo Schwarze2017-06-241-1/+1
| | | | | | | | | | | | | | | -Wopenbsd and -Wnetbsd to check conventions for the base system of a specific operating system. Mark operating system specific messages with "(OpenBSD)" at the end. Please use just "-Tlint" to check base system manuals (defaulting to -Wall, which is now -Wbase), but prefer "-Tlint -Wstyle" for the manuals of portable software projects you maintain that are not part of OpenBSD base, to avoid bogus recommendations about base system conventions that do not apply. Issue originally reported by semarie@, solution using an idea from tedu@, discussed with jmc@ and jca@.
* Be consistent in protecting __attribute__ attributes with __;Ingo Schwarze2017-02-171-1/+1
| | | | from Christos Zoulas <christos @ NetBSD>.
* config glue for recvmsg(2) and CMSG_FIRSTHDR(3);Ingo Schwarze2017-02-081-0/+4
| | | | needed for Solaris 11
* Polishing:Ingo Schwarze2017-02-061-3/+13
| | | | | | | | | | * support -Ios= * create missing directories * fix output file permissions * error out on comminication failures I now consider this good enough for a first release. Bugs and missing features are still likely, though.
* uint8_t requires <stdint.h>; from Michael StapelbergIngo Schwarze2017-02-051-0/+1
|
* experimental mandocd(8) and catman(8)Ingo Schwarze2017-02-041-0/+270
for development in the tree, not yet ready for production