X-Git-Url: https://git.cameronkatri.com/mandoc.git/blobdiff_plain/402f80d3490ec5c23b61eb24899c3b54901f4532..9f2b3d601aefb1ab04d42e1b6b1adc6d19e62a91:/read.c?ds=sidebyside diff --git a/read.c b/read.c index 5c8af397..6d831c48 100644 --- a/read.c +++ b/read.c @@ -1,4 +1,4 @@ -/* $Id: read.c,v 1.159 2017/02/03 17:56:59 schwarze Exp $ */ +/* $Id: read.c,v 1.160 2017/02/03 18:18:23 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010-2017 Ingo Schwarze @@ -48,8 +48,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 */ @@ -830,13 +830,14 @@ 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; } @@ -845,8 +846,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);