| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
On the other hand, it is a security risk because it might cause
buffer overflows. Use LC_CTYPE only, that's all we need.
|
| |
|
|
|
|
| |
found on Solaris 10 at OpenCSW
|
|
|
|
|
| |
even though that's required by POSIX.
Use -w and -r, that's just as good.
|
|
|
|
| |
for systems lacking it
|
|
|
|
|
|
| |
Use the POSIX function getline(3) rather than the slightly
dangerous BSD function fgetln(3).
Remove the related compatibility code.
|
|
|
|
|
| |
In that case, the required prototypes are in "config.h".
Patch from Peter Bray <pdb_ml at yahoo dot com dot au>.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Because these work slightly differently on different systems,
they are becoming a maintenance burden in the portable version,
so delete them.
Besides, one of the chief design goals of the mandoc toolbox is to
make sure that nothing related to documentation requires C++.
Consequently, linking mandoc against any kind of C++ program would
defeat the purpose and is not supported.
I don't understand why kristaps@ added them in the first place.
|
|
|
|
| |
noticed by Peter Bray <pdb_ml at yahoo dot com dot au>
|
|
|
|
| |
Bug reported by Peter Bray <pdb_ml at yahoo dot com dot au>.
|
|
|
|
| |
issue reported by Svyatoslav Mishyn, Peter Bray, and Daniel Levai.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
from guenther@, ok and tweaks jmc@
|
|
|
|
|
| |
its contents. Removing a gratuitious difference to groff output
found after a related bug report from krw@.
|
|
|
|
| |
Bug reported by krw@.
|
|
|
|
| |
fixing input like \fB\('e; issue reported by bentley@
|
| |
|
| |
|
|
|
|
|
| |
refrain from dereferencing a NULL pointer during final deallocation.
Fixing a recent regression reported by czarkoff@
|
|
|
|
|
|
| |
to the new separate validation pass, except for a tiny bit
needed by the parser which goes to the new mdoc_state() module;
cleaner, simpler, and surprisingly also shorter by 15 lines.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Delete the outmdoc, outman, and outfree function pointers.
|
|
|
|
| |
noticed by Svyatoslav Mishyn <juef at openmailbox dot org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in .Bl -column; it took me more than a day to get this right.
Triggered by a loosely related bug report from tim@.
The lesson for you is: Use .Ta macros in .Bl -column, avoid tabs,
or you are in for surprises: The last word before a tab is not
interpreted as a macro (unless there is a blank in between), the
first word after a tab isn't either (unless there is a blank in
between), and a blank after a tab causes a leading blank in the
respective output cell. Yes, "blank", "tab", "blank tab" and "tab
blank" all have different semantics; if you write code relying on
that, good luck maintaining it afterwards...
|
|
|
|
| |
Patch from Michael Reed <m dot reed at mykolab dot com>.
|
|
|
|
|
|
|
|
|
|
| |
Delete manual "Ta" handling because macro handling should
not be done in an argument parser but should be left to the
macro parsers, which exist anyway and work well.
No functional change, minus 40 lines of code.
Confusing and redundant code found while investigating
an old bug report from tim@.
|
|
|
|
|
|
|
|
| |
calls phrase_ta() to handle a .Ta child macro, advance the body
pointer accordingly, such that a subsequent tab character rewinds
the right body block and doesn't fail an assertion. That happened
when there was nothing between the .Ta and the tab character.
Bug reported by tim@ some time ago.
|
|
|
|
|
|
|
| |
These surrogates are not valid Unicode codepoints,
so treat them just like any other undefined character escapes:
Warn about them and do not produce output.
Issue noticed while talking to stsp@, semarie@, and bentley@.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
callback functions into one common place, preparing for the use of
ohash for some additional purposes. No functional change.
|
|
|
|
|
| |
found by Svyatoslav Mishyn <juef at openmailbox dot org>
with the clang static analyzer.
|
|
|
|
| |
found by Svyatoslav Mishyn <juef at openmailbox dot org> with cppcheck.
|
|
|
|
|
| |
fixing a pasto introduced in the previous commit;
found by Svyatoslav Mishyn <juef at openmailbox dot org> with cppcheck.
|
|
|
|
|
|
|
| |
In UTF-8 output, that renders as ASCII HYPHEN-MINUS (U+002D)
rather than HYPHEN (U+2010), which looks better and matches groff.
In ASCII output, it makes no difference.
Suggested by naddy@.
|
|
|
|
|
| |
Fixes a segfault reported by bentley@.
While here, do some style cleanup in the same function.
|
|
|
|
| |
ASCII_NBRSP has to be rendered as " ", not "-".
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
They don't work, they break other tags in weird ways, and even
if they could be made to work, they would be mostly useless.
Issue reported by naddy@, thanks.
|
|
|
|
|
|
|
|
|
|
| |
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...
|
|
|
|
|
| |
While here, make the first sentence regarding .Pf more concise.
OK jmc@
|
|
|
|
| |
in preparation for pledge(2); no functional change intended.
|
| |
|
| |
|
| |
|