=================================================================== RCS file: /cvs/mandoc/roff.c,v retrieving revision 1.356 retrieving revision 1.357 diff -u -p -r1.356 -r1.357 --- mandoc/roff.c 2018/12/30 00:49:56 1.356 +++ mandoc/roff.c 2018/12/31 04:55:47 1.357 @@ -1,4 +1,4 @@ -/* $Id: roff.c,v 1.356 2018/12/30 00:49:56 schwarze Exp $ */ +/* $Id: roff.c,v 1.357 2018/12/31 04:55:47 schwarze Exp $ */ /* * Copyright (c) 2008-2012, 2014 Kristaps Dzonsons * Copyright (c) 2010-2015, 2017, 2018 Ingo Schwarze @@ -819,18 +819,25 @@ roff_man_free1(struct roff_man *man) free(man->meta.sodest); } +void +roff_state_reset(struct roff_man *man) +{ + man->last = man->meta.first; + man->last_es = NULL; + man->flags = 0; + man->lastsec = man->lastnamed = SEC_NONE; + man->next = ROFF_NEXT_CHILD; + roff_setreg(man->roff, "nS", 0, '='); +} + static void roff_man_alloc1(struct roff_man *man) { memset(&man->meta, 0, sizeof(man->meta)); man->meta.first = mandoc_calloc(1, sizeof(*man->meta.first)); man->meta.first->type = ROFFT_ROOT; - man->last = man->meta.first; - man->last_es = NULL; - man->flags = 0; man->meta.macroset = MACROSET_NONE; - man->lastsec = man->lastnamed = SEC_NONE; - man->next = ROFF_NEXT_CHILD; + roff_state_reset(man); } void