From 8c0bc76f597bfa8102ebaae346815b1375f941f4 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Sun, 22 Feb 2009 14:31:08 +0000 Subject: Cleaned up validation source a bit. Fixed `Nm' and `Nd' detection. Added a few more terminal outputs. --- mdoc.c | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) (limited to 'mdoc.c') diff --git a/mdoc.c b/mdoc.c index 98403bdd..517fa3e6 100644 --- a/mdoc.c +++ b/mdoc.c @@ -1,4 +1,4 @@ -/* $Id: mdoc.c,v 1.45 2009/02/20 07:43:15 kristaps Exp $ */ +/* $Id: mdoc.c,v 1.46 2009/02/22 14:31:08 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -212,7 +212,7 @@ static void argfree(size_t, struct mdoc_arg *); static void argcpy(struct mdoc_arg *, const struct mdoc_arg *); -static struct mdoc_node *mdoc_node_alloc(void); +static struct mdoc_node *mdoc_node_alloc(const struct mdoc *); static int mdoc_node_append(struct mdoc *, struct mdoc_node *); static void mdoc_elem_free(struct mdoc_elem *); @@ -513,10 +513,14 @@ mdoc_node_append(struct mdoc *mdoc, struct mdoc_node *p) static struct mdoc_node * -mdoc_node_alloc(void) +mdoc_node_alloc(const struct mdoc *mdoc) { + struct mdoc_node *p; + + p = xcalloc(1, sizeof(struct mdoc_node)); + p->sec = mdoc->lastsec; - return(xcalloc(1, sizeof(struct mdoc_node))); + return(p); } @@ -528,7 +532,7 @@ mdoc_tail_alloc(struct mdoc *mdoc, int line, int pos, int tok) assert(mdoc->first); assert(mdoc->last); - p = mdoc_node_alloc(); + p = mdoc_node_alloc(mdoc); p->line = line; p->pos = pos; @@ -547,7 +551,7 @@ mdoc_head_alloc(struct mdoc *mdoc, int line, int pos, int tok) assert(mdoc->first); assert(mdoc->last); - p = mdoc_node_alloc(); + p = mdoc_node_alloc(mdoc); p->line = line; p->pos = pos; @@ -566,7 +570,7 @@ mdoc_body_alloc(struct mdoc *mdoc, int line, int pos, int tok) assert(mdoc->first); assert(mdoc->last); - p = mdoc_node_alloc(); + p = mdoc_node_alloc(mdoc); p->line = line; p->pos = pos; @@ -582,7 +586,7 @@ mdoc_root_alloc(struct mdoc *mdoc) { struct mdoc_node *p; - p = mdoc_node_alloc(); + p = mdoc_node_alloc(mdoc); p->type = MDOC_ROOT; @@ -596,7 +600,7 @@ mdoc_block_alloc(struct mdoc *mdoc, int line, int pos, { struct mdoc_node *p; - p = mdoc_node_alloc(); + p = mdoc_node_alloc(mdoc); p->pos = pos; p->line = line; @@ -615,7 +619,7 @@ mdoc_elem_alloc(struct mdoc *mdoc, int line, int pos, { struct mdoc_node *p; - p = mdoc_node_alloc(); + p = mdoc_node_alloc(mdoc); p->line = line; p->pos = pos; @@ -634,7 +638,7 @@ mdoc_word_alloc(struct mdoc *mdoc, { struct mdoc_node *p; - p = mdoc_node_alloc(); + p = mdoc_node_alloc(mdoc); p->line = line; p->pos = pos; -- cgit v1.2.3-56-ge451