=================================================================== RCS file: /cvs/mandoc/man.c,v retrieving revision 1.105 retrieving revision 1.106 diff -u -p -r1.105 -r1.106 --- mandoc/man.c 2011/03/22 14:33:05 1.105 +++ mandoc/man.c 2011/03/23 12:33:01 1.106 @@ -1,4 +1,4 @@ -/* $Id: man.c,v 1.105 2011/03/22 14:33:05 kristaps Exp $ */ +/* $Id: man.c,v 1.106 2011/03/23 12:33:01 kristaps Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * @@ -203,6 +203,10 @@ man_node_append(struct man *man, struct man_node *p) assert(MAN_BLOCK == p->parent->type); p->parent->head = p; break; + case (MAN_TAIL): + assert(MAN_BLOCK == p->parent->type); + p->parent->tail = p; + break; case (MAN_BODY): assert(MAN_BLOCK == p->parent->type); p->parent->body = p; @@ -253,6 +257,19 @@ man_elem_alloc(struct man *m, int line, int pos, enum struct man_node *p; p = man_node_alloc(m, line, pos, MAN_ELEM, tok); + if ( ! man_node_append(m, p)) + return(0); + m->next = MAN_NEXT_CHILD; + return(1); +} + + +int +man_tail_alloc(struct man *m, int line, int pos, enum mant tok) +{ + struct man_node *p; + + p = man_node_alloc(m, line, pos, MAN_TAIL, tok); if ( ! man_node_append(m, p)) return(0); m->next = MAN_NEXT_CHILD;