diff options
Diffstat (limited to 'man_macro.c')
-rw-r--r-- | man_macro.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/man_macro.c b/man_macro.c index baeea39f..8b2164e8 100644 --- a/man_macro.c +++ b/man_macro.c @@ -1,4 +1,4 @@ -/* $Id: man_macro.c,v 1.4 2009/03/23 15:41:09 kristaps Exp $ */ +/* $Id: man_macro.c,v 1.5 2009/03/25 15:17:49 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@openbsd.org> * @@ -56,9 +56,14 @@ man_macro(struct man *man, int tok, int line, man->next = MAN_NEXT_SIBLING; } - /* TODO: validate & actions. */ + for ( ; man->last && man->last != n; + man->last = man->last->parent) + if ( ! man_valid_post(man)) + return(0); - man->last = n; + assert(man->last); + if ( ! man_valid_post(man)) + return(0); man->next = MAN_NEXT_SIBLING; return(1); |