diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2017-02-03 18:22:30 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2017-02-03 18:22:30 +0000 |
commit | e2b46e6ff3d12b2acc6ee6242d562230965e3287 (patch) | |
tree | a1a2d89962007a6e5d0f80a01d42be01b2271c11 | |
parent | 2b7303153b6fbb7916de920e1326c5f8d1479511 (diff) | |
download | mandoc-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.c | 15 |
1 files changed, 8 insertions, 7 deletions
@@ -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); |