summaryrefslogtreecommitdiffstatshomepage
path: root/macro.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-01-08 15:59:58 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-01-08 15:59:58 +0000
commit1b6424e34de2a96aaa28ac28d0b0d83c0b46bdf4 (patch)
tree4b17e7e7f59e83a634a02c562e87124551d4dacb /macro.c
parent78fb27b169aa25dd8d35291418167dc39d560865 (diff)
downloadmandoc-1b6424e34de2a96aaa28ac28d0b0d83c0b46bdf4.tar.gz
mandoc-1b6424e34de2a96aaa28ac28d0b0d83c0b46bdf4.tar.zst
mandoc-1b6424e34de2a96aaa28ac28d0b0d83c0b46bdf4.zip
*** empty log message ***
Diffstat (limited to 'macro.c')
-rw-r--r--macro.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/macro.c b/macro.c
index 7247b382..9c5fc9bc 100644
--- a/macro.c
+++ b/macro.c
@@ -1,4 +1,4 @@
-/* $Id: macro.c,v 1.28 2009/01/08 14:55:59 kristaps Exp $ */
+/* $Id: macro.c,v 1.29 2009/01/08 15:59:58 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -55,19 +55,20 @@ rewind_last(struct mdoc *mdoc, struct mdoc_node *to)
{
assert(to);
- while (mdoc->last != to) {
+ if (mdoc->last == to)
+ return(1);
+
+ do {
+ mdoc->last = mdoc->last->parent;
+ assert(mdoc->last);
if ( ! mdoc_valid_post(mdoc))
return(0);
if ( ! mdoc_action_post(mdoc))
return(0);
- mdoc->last = mdoc->last->parent;
- assert(mdoc->last);
- }
+ } while (mdoc->last != to);
mdoc->next = MDOC_NEXT_SIBLING;
- if ( ! mdoc_valid_post(mdoc))
- return(0);
- return(mdoc_action_post(mdoc));
+ return(1);
}