From 35f2108111d8f83fc25edd4c460e0f37db93901b Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Thu, 26 Mar 2009 09:55:39 +0000 Subject: Fixed reading whitespace for man.7 `. TH'. Documented this. --- man_action.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'man_action.c') diff --git a/man_action.c b/man_action.c index 00a284d8..e159baa5 100644 --- a/man_action.c +++ b/man_action.c @@ -153,12 +153,20 @@ post_TH(struct man *m) * of the syntax tree (they encompass only meta-data). */ - assert(MAN_ROOT == m->last->parent->type); - m->last->parent->child = NULL; - n = m->last; - m->last = m->last->parent; - m->next = MAN_NEXT_CHILD; - assert(m->last == m->first); + if (m->last->parent->child == m->last) { + assert(MAN_ROOT == m->last->parent->type); + m->last->parent->child = NULL; + n = m->last; + m->last = m->last->parent; + m->next = MAN_NEXT_CHILD; + assert(m->last == m->first); + } else { + assert(m->last->prev); + m->last->prev->next = NULL; + n = m->last; + m->last = m->last->prev; + m->next = MAN_NEXT_SIBLING; + } man_node_freelist(n); return(1); -- cgit