summaryrefslogtreecommitdiffstatshomepage
path: root/mdoc.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-06-18 20:46:19 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-06-18 20:46:19 +0000
commit65dc168510767708e266ed70c10c9e2a646424fa (patch)
tree893ef034f49f88a19a1a3a753e0d514227aaa6ce /mdoc.c
parent5a58b9c46f195b91a6e97db9ae3778de5e5bae2f (diff)
downloadmandoc-65dc168510767708e266ed70c10c9e2a646424fa.tar.gz
mandoc-65dc168510767708e266ed70c10c9e2a646424fa.tar.zst
mandoc-65dc168510767708e266ed70c10c9e2a646424fa.zip
Added nchild decrement in libman (not used, but better in than forgotten).
Added nchild to libmdoc, deprecated count() functions in validator.
Diffstat (limited to 'mdoc.c')
-rw-r--r--mdoc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/mdoc.c b/mdoc.c
index aec797d0..ac75b38f 100644
--- a/mdoc.c
+++ b/mdoc.c
@@ -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 <kristaps@kth.se>
*
@@ -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);
}