=================================================================== RCS file: /cvs/mandoc/mdoc.c,v retrieving revision 1.85 retrieving revision 1.86 diff -u -p -r1.85 -r1.86 --- mandoc/mdoc.c 2009/06/17 10:53:32 1.85 +++ mandoc/mdoc.c 2009/06/18 20:46:19 1.86 @@ -1,4 +1,4 @@ -/* $Id: mdoc.c,v 1.85 2009/06/17 10:53:32 kristaps Exp $ */ +/* $Id: mdoc.c,v 1.86 2009/06/18 20:46:19 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -442,6 +442,8 @@ node_append(struct mdoc *mdoc, struct mdoc_node *p) /* NOTREACHED */ } + p->parent->nchild++; + if ( ! mdoc_valid_pre(mdoc, p)) return(0); if ( ! mdoc_action_pre(mdoc, p)) @@ -597,6 +599,8 @@ void mdoc_node_free(struct mdoc_node *p) { + if (p->parent) + p->parent->nchild--; if (p->string) free(p->string); if (p->args) @@ -614,6 +618,7 @@ mdoc_node_freelist(struct mdoc_node *p) if (p->next) mdoc_node_freelist(p->next); + assert(0 == p->nchild); mdoc_node_free(p); }