[BACK]Return to man_macro.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/man_macro.c between version 1.88 and 1.89

version 1.88, 2014/08/10 23:54:41 version 1.89, 2014/08/18 16:36:54
Line 100  man_unscope(struct man *man, const struct man_node *to
Line 100  man_unscope(struct man *man, const struct man_node *to
 {  {
         struct man_node *n;          struct man_node *n;
   
         man->next = MAN_NEXT_SIBLING;  
         to = to->parent;          to = to->parent;
         n = man->last;          n = man->last;
         while (n != to) {          while (n != to) {
Line 139  man_unscope(struct man *man, const struct man_node *to
Line 138  man_unscope(struct man *man, const struct man_node *to
                  * Save a pointer to the parent such that                   * Save a pointer to the parent such that
                  * we know where to continue the iteration.                   * we know where to continue the iteration.
                  */                   */
   
                 man->last = n;                  man->last = n;
                 n = n->parent;                  n = n->parent;
                 if ( ! man_valid_post(man))                  if ( ! man_valid_post(man))
                         return(0);                          return(0);
         }          }
   
           /*
            * If we ended up at the parent of the node we were
            * supposed to rewind to, that means the target node
            * got deleted, so add the next node we parse as a child
            * of the parent instead of as a sibling of the target.
            */
   
           man->next = (man->last == to) ?
               MAN_NEXT_CHILD : MAN_NEXT_SIBLING;
   
         return(1);          return(1);
 }  }
   

Legend:
Removed from v.1.88  
changed lines
  Added in v.1.89

CVSweb