aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-02-03 18:22:30 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-02-03 18:22:30 +0000
commite2b46e6ff3d12b2acc6ee6242d562230965e3287 (patch)
treea1a2d89962007a6e5d0f80a01d42be01b2271c11
parent2b7303153b6fbb7916de920e1326c5f8d1479511 (diff)
downloadmandoc-e2b46e6ff3d12b2acc6ee6242d562230965e3287.tar.gz
mandoc-e2b46e6ff3d12b2acc6ee6242d562230965e3287.tar.zst
mandoc-e2b46e6ff3d12b2acc6ee6242d562230965e3287.zip
merge rev.s 1.159 and 1.160: gzip bugfix and struct mparse cleanup
-rw-r--r--read.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/read.c b/read.c
index 70fe7e15..f86054e5 100644
--- a/read.c
+++ b/read.c
@@ -1,4 +1,4 @@
-/* $Id: read.c,v 1.150.2.6 2017/01/28 23:35:05 schwarze Exp $ */
+/* $Id: read.c,v 1.150.2.7 2017/02/03 18:22:30 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2017 Ingo Schwarze <schwarze@openbsd.org>
@@ -50,8 +50,8 @@
#define REPARSE_LIMIT 1000
struct mparse {
- struct roff_man *man; /* man parser */
struct roff *roff; /* roff parser (!NULL) */
+ struct roff_man *man; /* man parser */
char *sodest; /* filename pointed to by .so */
const char *file; /* filename of current input file */
struct buf *primary; /* buffer currently being parsed */
@@ -836,13 +836,15 @@ mparse_reset(struct mparse *curp)
{
roff_reset(curp->roff);
roff_man_reset(curp->man);
+
+ free(curp->sodest);
+ curp->sodest = NULL;
+
if (curp->secondary)
curp->secondary->sz = 0;
curp->file_status = MANDOCLEVEL_OK;
-
- free(curp->sodest);
- curp->sodest = NULL;
+ curp->gzip = 0;
}
void
@@ -850,8 +852,7 @@ mparse_free(struct mparse *curp)
{
roff_man_free(curp->man);
- if (curp->roff)
- roff_free(curp->roff);
+ roff_free(curp->roff);
if (curp->secondary)
free(curp->secondary->buf);