version 1.6, 2009/03/25 15:36:05 |
version 1.7, 2009/03/25 16:07:36 |
Line 56 man_macro(struct man *man, int tok, int line, |
|
Line 56 man_macro(struct man *man, int tok, int line, |
|
man->next = MAN_NEXT_SIBLING; |
man->next = MAN_NEXT_SIBLING; |
} |
} |
|
|
for ( ; man->last && man->last != n; |
/* |
man->last = man->last->parent) { |
* Note that when TH is pruned, we'll be back at the root, so |
|
* make sure that we don't clobber as its sibling. |
|
*/ |
|
|
|
for ( ; man->last; man->last = man->last->parent) { |
|
if (man->last == n) |
|
break; |
|
if (man->last->type == MAN_ROOT) |
|
break; |
if ( ! man_valid_post(man)) |
if ( ! man_valid_post(man)) |
return(0); |
return(0); |
if ( ! man_action_post(man)) |
if ( ! man_action_post(man)) |
Line 66 man_macro(struct man *man, int tok, int line, |
|
Line 74 man_macro(struct man *man, int tok, int line, |
|
|
|
assert(man->last); |
assert(man->last); |
|
|
if ( ! man_valid_post(man)) |
/* |
|
* Same here regarding whether we're back at the root. |
|
*/ |
|
|
|
if (man->last->type != MAN_ROOT && ! man_valid_post(man)) |
return(0); |
return(0); |
if ( ! man_action_post(man)) |
if (man->last->type != MAN_ROOT && ! man_action_post(man)) |
return(0); |
return(0); |
|
if (man->last->type != MAN_ROOT) |
|
man->next = MAN_NEXT_SIBLING; |
|
|
man->next = MAN_NEXT_SIBLING; |
|
|
|
return(1); |
return(1); |
} |
} |
|
|
Line 88 man_macroend(struct man *m) |
|
Line 100 man_macroend(struct man *m) |
|
if ( ! man_action_post(m)) |
if ( ! man_action_post(m)) |
return(0); |
return(0); |
} |
} |
|
assert(m->last == m->first); |
|
|
if ( ! man_valid_post(m)) |
if ( ! man_valid_post(m)) |
return(0); |
return(0); |