]> git.cameronkatri.com Git - mandoc.git/commitdiff
If a non-gz manual is read after a gzipped manual, refrain
authorIngo Schwarze <schwarze@openbsd.org>
Mon, 2 Mar 2015 14:50:17 +0000 (14:50 +0000)
committerIngo Schwarze <schwarze@openbsd.org>
Mon, 2 Mar 2015 14:50:17 +0000 (14:50 +0000)
from throwing a bogus error "wait: No child processes".
As reported by Baptiste Daroussin <bapt at FreeBSD dot org>,
clearing the state variable curp->child after use was forgotten.

read.c

diff --git a/read.c b/read.c
index 3fbedc81e758d9e393d5a562fdd74bb7b1a81fcf..0b4caa05a9c0d99ab27400ed2476d2627c253086 100644 (file)
--- a/read.c
+++ b/read.c
@@ -1,4 +1,4 @@
-/*     $Id: read.c,v 1.128 2015/02/23 13:31:04 schwarze Exp $ */
+/*     $Id: read.c,v 1.129 2015/03/02 14:50:17 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010-2015 Ingo Schwarze <schwarze@openbsd.org>
@@ -868,6 +868,7 @@ mparse_wait(struct mparse *curp)
                perror("wait");
                exit((int)MANDOCLEVEL_SYSERR);
        }
+       curp->child = 0;
        if (WIFSIGNALED(status)) {
                mandoc_vmsg(MANDOCERR_FILE, curp, 0, 0,
                    "gunzip died from signal %d", WTERMSIG(status));