summaryrefslogtreecommitdiffstatshomepage
path: root/man_macro.c
diff options
context:
space:
mode:
Diffstat (limited to 'man_macro.c')
-rw-r--r--man_macro.c11
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);