From c1e7dc6253e70fb184882bdb155d380f00698ce9 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Wed, 25 Mar 2009 15:36:05 +0000 Subject: Added man_action.c, renamed mdoc_action.c. --- man_macro.c | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'man_macro.c') diff --git a/man_macro.c b/man_macro.c index 8b2164e8..d03d12c5 100644 --- a/man_macro.c +++ b/man_macro.c @@ -1,4 +1,4 @@ -/* $Id: man_macro.c,v 1.5 2009/03/25 15:17:49 kristaps Exp $ */ +/* $Id: man_macro.c,v 1.6 2009/03/25 15:36:05 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -57,13 +57,20 @@ man_macro(struct man *man, int tok, int line, } for ( ; man->last && man->last != n; - man->last = man->last->parent) + man->last = man->last->parent) { if ( ! man_valid_post(man)) return(0); + if ( ! man_action_post(man)) + return(0); + } assert(man->last); + if ( ! man_valid_post(man)) return(0); + if ( ! man_action_post(man)) + return(0); + man->next = MAN_NEXT_SIBLING; return(1); @@ -74,7 +81,19 @@ int man_macroend(struct man *m) { - /* TODO: validate & actions. */ + for ( ; m->last && m->last != m->first; + m->last = m->last->parent) { + if ( ! man_valid_post(m)) + return(0); + if ( ! man_action_post(m)) + return(0); + } + + if ( ! man_valid_post(m)) + return(0); + if ( ! man_action_post(m)) + return(0); + return(1); } -- cgit v1.2.3