diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2014-11-26 23:42:14 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2014-11-26 23:42:14 +0000 |
commit | cf199a76d662055ce96b65d3442832db41fbc63c (patch) | |
tree | 742aa626bed96e2494214c7a0bdbf3f553525abf /mandoc.3 | |
parent | 0334f84d7012e2930aa3d735e3c95f156bb3a679 (diff) | |
download | mandoc-cf199a76d662055ce96b65d3442832db41fbc63c.tar.gz mandoc-cf199a76d662055ce96b65d3442832db41fbc63c.tar.zst mandoc-cf199a76d662055ce96b65d3442832db41fbc63c.zip |
Let mparse_readfd() use mparse_open() and mparse_wait()
and let mparse_open() fall back to .gz files
such that .so works even when the target is zipped,
requested by and in part using ideas from <bapt at FreeBSD>.
While here, make sure files are readable before forking,
both for efficiency and for better error reporting.
Diffstat (limited to 'mandoc.3')
-rw-r--r-- | mandoc.3 | 25 |
1 files changed, 18 insertions, 7 deletions
@@ -1,4 +1,4 @@ -.\" $Id: mandoc.3,v 1.28 2014/11/26 21:40:17 schwarze Exp $ +.\" $Id: mandoc.3,v 1.29 2014/11/26 23:42:14 schwarze Exp $ .\" .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> .\" Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org> @@ -396,6 +396,12 @@ open with .Xr gunzip 1 ; otherwise, with .Xr open 2 . +If +.Xr open 2 +fails, append +.Pa .gz +and try with +.Xr gunzip 1 . Return a file descriptor open for reading in .Fa fd , or -1 on failure. @@ -410,14 +416,18 @@ implemented in Parse a file or file descriptor. If .Va fd -is -1, +is -1, open .Va fname -is opened for reading. +with +.Fn mparse_open . Otherwise, .Va fname is assumed to be the name associated with .Va fd . -This may be called multiple times with different parameters; however, +Calls +.Fn mparse_wait +before returning. +This function may be called multiple times with different parameters; however, .Fn mparse_reset should be invoked between parses. Declared in @@ -461,11 +471,12 @@ implemented in .It Fn mparse_wait Bury a .Xr gunzip 1 -child process -.Fa child_pid -that was spawned with +child process that was spawned with .Fn mparse_open . To be called after the parse sequence is complete. +Not needed after +.Fn mparse_readfd , +but does no harm in that case, either. Returns .Dv MANDOCLEVEL_OK on success and |