Index: man_macro.c =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/man_macro.c,v retrieving revision 1.63 diff -u -r1.63 man_macro.c --- man_macro.c 18 Jun 2011 17:36:52 -0000 1.63 +++ man_macro.c 5 Jul 2011 14:01:28 -0000 @@ -120,6 +120,9 @@ assert(to); + assert(MAN_ROOT != m->last->type); + m->next = MAN_NEXT_SIBLING; + /* LINTED */ while (m->last != to) { /* @@ -140,9 +143,6 @@ if ( ! man_valid_post(m)) return(0); - m->next = MAN_ROOT == m->last->type ? - MAN_NEXT_CHILD : MAN_NEXT_SIBLING; - return(1); } @@ -428,6 +428,9 @@ assert( ! (MAN_SCOPED & man_macros[tok].flags)); m->flags |= MAN_ILINE; } + + assert(MAN_ROOT != m->last->type); + m->next = MAN_NEXT_SIBLING; /* * Rewind our element scope. Note that when TH is pruned, we'll @@ -452,9 +455,6 @@ if (m->last->type != MAN_ROOT && ! man_valid_post(m)) return(0); - - m->next = MAN_ROOT == m->last->type ? - MAN_NEXT_CHILD : MAN_NEXT_SIBLING; return(1); }