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

Diff for /mandoc/roff.c between version 1.280 and 1.282

version 1.280, 2015/10/15 23:35:55 version 1.282, 2015/10/21 23:51:11
Line 1007  roff_node_append(struct roff_man *man, struct roff_nod
Line 1007  roff_node_append(struct roff_man *man, struct roff_nod
   
         switch (man->next) {          switch (man->next) {
         case ROFF_NEXT_SIBLING:          case ROFF_NEXT_SIBLING:
                   if (man->last->next != NULL) {
                           n->next = man->last->next;
                           man->last->next->prev = n;
                   } else
                           man->last->parent->last = n;
                 man->last->next = n;                  man->last->next = n;
                 n->prev = man->last;                  n->prev = man->last;
                 n->parent = man->last->parent;                  n->parent = man->last->parent;
Line 1014  roff_node_append(struct roff_man *man, struct roff_nod
Line 1019  roff_node_append(struct roff_man *man, struct roff_nod
         case ROFF_NEXT_CHILD:          case ROFF_NEXT_CHILD:
                 man->last->child = n;                  man->last->child = n;
                 n->parent = man->last;                  n->parent = man->last;
                   n->parent->last = n;
                 break;                  break;
         default:          default:
                 abort();                  abort();
         }          }
         n->parent->nchild++;          n->parent->nchild++;
         n->parent->last = n;          man->last = n;
   
         /*  
          * Copy over the normalised-data pointer of our parent.  Not  
          * everybody has one, but copying a null pointer is fine.  
          */  
   
         switch (n->type) {          switch (n->type) {
         case ROFFT_BODY:  
                 if (n->end != ENDBODY_NOT)  
                         break;  
                 /* FALLTHROUGH */  
         case ROFFT_TAIL:  
         case ROFFT_HEAD:          case ROFFT_HEAD:
                 n->norm = n->parent->norm;  
                 break;  
         default:  
                 break;  
         }  
   
         if (man->macroset == MACROSET_MDOC)  
                 mdoc_valid_pre(man, n);  
   
         switch (n->type) {  
         case ROFFT_HEAD:  
                 assert(n->parent->type == ROFFT_BLOCK);  
                 n->parent->head = n;                  n->parent->head = n;
                 break;                  break;
         case ROFFT_BODY:          case ROFFT_BODY:
                 if (n->end)                  if (n->end != ENDBODY_NOT)
                         break;                          return;
                 assert(n->parent->type == ROFFT_BLOCK);  
                 n->parent->body = n;                  n->parent->body = n;
                 break;                  break;
         case ROFFT_TAIL:          case ROFFT_TAIL:
                 assert(n->parent->type == ROFFT_BLOCK);  
                 n->parent->tail = n;                  n->parent->tail = n;
                 break;                  break;
         default:          default:
                 break;                  return;
         }          }
         man->last = n;  
           /*
            * Copy over the normalised-data pointer of our parent.  Not
            * everybody has one, but copying a null pointer is fine.
            */
   
           n->norm = n->parent->norm;
           assert(n->parent->type == ROFFT_BLOCK);
 }  }
   
 void  void
Line 1072  roff_word_alloc(struct roff_man *man, int line, int po
Line 1061  roff_word_alloc(struct roff_man *man, int line, int po
         n->string = roff_strdup(man->roff, word);          n->string = roff_strdup(man->roff, word);
         roff_node_append(man, n);          roff_node_append(man, n);
         if (man->macroset == MACROSET_MDOC)          if (man->macroset == MACROSET_MDOC)
                 mdoc_valid_post(man);                  n->flags |= MDOC_VALID | MDOC_ENDED;
         else          else
                 man_valid_post(man);                  man_valid_post(man);
         man->next = ROFF_NEXT_SIBLING;          man->next = ROFF_NEXT_SIBLING;
Line 1160  roff_addtbl(struct roff_man *man, const struct tbl_spa
Line 1149  roff_addtbl(struct roff_man *man, const struct tbl_spa
         n->span = tbl;          n->span = tbl;
         roff_node_append(man, n);          roff_node_append(man, n);
         if (man->macroset == MACROSET_MDOC)          if (man->macroset == MACROSET_MDOC)
                 mdoc_valid_post(man);                  n->flags |= MDOC_VALID | MDOC_ENDED;
         else          else
                 man_valid_post(man);                  man_valid_post(man);
         man->next = ROFF_NEXT_SIBLING;          man->next = ROFF_NEXT_SIBLING;

Legend:
Removed from v.1.280  
changed lines
  Added in v.1.282

CVSweb