[BACK]Return to mdoc_macro.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / mandoc

Diff for /src/usr.bin/mandoc/mdoc_macro.c between version 1.62 and 1.63

version 1.62, 2011/01/04 22:28:17 version 1.63, 2011/01/16 19:27:25
Line 248 
Line 248 
 static int  static int
 rew_last(struct mdoc *mdoc, const struct mdoc_node *to)  rew_last(struct mdoc *mdoc, const struct mdoc_node *to)
 {  {
         struct mdoc_node *n;          struct mdoc_node *n, *np;
   
         assert(to);          assert(to);
         mdoc->next = MDOC_NEXT_SIBLING;          mdoc->next = MDOC_NEXT_SIBLING;
   
         /* LINTED */          /* LINTED */
         while (mdoc->last != to) {          while (mdoc->last != to) {
                   /*
                    * Save the parent here, because we may delete the
                    * m->last node in the post-validation phase and reset
                    * it to m->last->parent, causing a step in the closing
                    * out to be lost.
                    */
                   np = mdoc->last->parent;
                 if ( ! mdoc_valid_post(mdoc))                  if ( ! mdoc_valid_post(mdoc))
                         return(0);                          return(0);
                 n = mdoc->last;                  n = mdoc->last;
                 mdoc->last = mdoc->last->parent;                  mdoc->last = np;
                 assert(mdoc->last);                  assert(mdoc->last);
                 mdoc->last->last = n;                  mdoc->last->last = n;
         }          }

Legend:
Removed from v.1.62  
changed lines
  Added in v.1.63