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

Diff for /mandoc/mdoc.c between version 1.230 and 1.231

version 1.230, 2014/11/28 01:05:43 version 1.231, 2014/11/28 03:14:18
Line 383  node_alloc(struct mdoc *mdoc, int line, int pos,
Line 383  node_alloc(struct mdoc *mdoc, int line, int pos,
         return(p);          return(p);
 }  }
   
 int  void
 mdoc_tail_alloc(struct mdoc *mdoc, int line, int pos, enum mdoct tok)  mdoc_tail_alloc(struct mdoc *mdoc, int line, int pos, enum mdoct tok)
 {  {
         struct mdoc_node *p;          struct mdoc_node *p;
Line 391  mdoc_tail_alloc(struct mdoc *mdoc, int line, int pos, 
Line 391  mdoc_tail_alloc(struct mdoc *mdoc, int line, int pos, 
         p = node_alloc(mdoc, line, pos, tok, MDOC_TAIL);          p = node_alloc(mdoc, line, pos, tok, MDOC_TAIL);
         node_append(mdoc, p);          node_append(mdoc, p);
         mdoc->next = MDOC_NEXT_CHILD;          mdoc->next = MDOC_NEXT_CHILD;
         return(1);  
 }  }
   
 int  struct mdoc_node *
 mdoc_head_alloc(struct mdoc *mdoc, int line, int pos, enum mdoct tok)  mdoc_head_alloc(struct mdoc *mdoc, int line, int pos, enum mdoct tok)
 {  {
         struct mdoc_node *p;          struct mdoc_node *p;
   
         assert(mdoc->first);          assert(mdoc->first);
         assert(mdoc->last);          assert(mdoc->last);
   
         p = node_alloc(mdoc, line, pos, tok, MDOC_HEAD);          p = node_alloc(mdoc, line, pos, tok, MDOC_HEAD);
         node_append(mdoc, p);          node_append(mdoc, p);
         mdoc->next = MDOC_NEXT_CHILD;          mdoc->next = MDOC_NEXT_CHILD;
         return(1);          return(p);
 }  }
   
 int  struct mdoc_node *
 mdoc_body_alloc(struct mdoc *mdoc, int line, int pos, enum mdoct tok)  mdoc_body_alloc(struct mdoc *mdoc, int line, int pos, enum mdoct tok)
 {  {
         struct mdoc_node *p;          struct mdoc_node *p;
Line 416  mdoc_body_alloc(struct mdoc *mdoc, int line, int pos, 
Line 414  mdoc_body_alloc(struct mdoc *mdoc, int line, int pos, 
         p = node_alloc(mdoc, line, pos, tok, MDOC_BODY);          p = node_alloc(mdoc, line, pos, tok, MDOC_BODY);
         node_append(mdoc, p);          node_append(mdoc, p);
         mdoc->next = MDOC_NEXT_CHILD;          mdoc->next = MDOC_NEXT_CHILD;
         return(1);          return(p);
 }  }
   
 int  void
 mdoc_endbody_alloc(struct mdoc *mdoc, int line, int pos, enum mdoct tok,  mdoc_endbody_alloc(struct mdoc *mdoc, int line, int pos, enum mdoct tok,
                 struct mdoc_node *body, enum mdoc_endbody end)                  struct mdoc_node *body, enum mdoc_endbody end)
 {  {
Line 431  mdoc_endbody_alloc(struct mdoc *mdoc, int line, int po
Line 429  mdoc_endbody_alloc(struct mdoc *mdoc, int line, int po
         p->end = end;          p->end = end;
         node_append(mdoc, p);          node_append(mdoc, p);
         mdoc->next = MDOC_NEXT_SIBLING;          mdoc->next = MDOC_NEXT_SIBLING;
         return(1);  
 }  }
   
 int  struct mdoc_node *
 mdoc_block_alloc(struct mdoc *mdoc, int line, int pos,  mdoc_block_alloc(struct mdoc *mdoc, int line, int pos,
                 enum mdoct tok, struct mdoc_arg *args)                  enum mdoct tok, struct mdoc_arg *args)
 {  {
Line 462  mdoc_block_alloc(struct mdoc *mdoc, int line, int pos,
Line 459  mdoc_block_alloc(struct mdoc *mdoc, int line, int pos,
         }          }
         node_append(mdoc, p);          node_append(mdoc, p);
         mdoc->next = MDOC_NEXT_CHILD;          mdoc->next = MDOC_NEXT_CHILD;
         return(1);          return(p);
 }  }
   
 int  void
 mdoc_elem_alloc(struct mdoc *mdoc, int line, int pos,  mdoc_elem_alloc(struct mdoc *mdoc, int line, int pos,
                 enum mdoct tok, struct mdoc_arg *args)                  enum mdoct tok, struct mdoc_arg *args)
 {  {
Line 485  mdoc_elem_alloc(struct mdoc *mdoc, int line, int pos,
Line 482  mdoc_elem_alloc(struct mdoc *mdoc, int line, int pos,
         }          }
         node_append(mdoc, p);          node_append(mdoc, p);
         mdoc->next = MDOC_NEXT_CHILD;          mdoc->next = MDOC_NEXT_CHILD;
         return(1);  
 }  }
   
 int  void
 mdoc_word_alloc(struct mdoc *mdoc, int line, int pos, const char *p)  mdoc_word_alloc(struct mdoc *mdoc, int line, int pos, const char *p)
 {  {
         struct mdoc_node *n;          struct mdoc_node *n;
Line 497  mdoc_word_alloc(struct mdoc *mdoc, int line, int pos, 
Line 493  mdoc_word_alloc(struct mdoc *mdoc, int line, int pos, 
         n->string = roff_strdup(mdoc->roff, p);          n->string = roff_strdup(mdoc->roff, p);
         node_append(mdoc, n);          node_append(mdoc, n);
         mdoc->next = MDOC_NEXT_SIBLING;          mdoc->next = MDOC_NEXT_SIBLING;
         return(1);  
 }  }
   
 void  void
Line 579  mdoc_node_delete(struct mdoc *mdoc, struct mdoc_node *
Line 574  mdoc_node_delete(struct mdoc *mdoc, struct mdoc_node *
         mdoc_node_free(p);          mdoc_node_free(p);
 }  }
   
 int  void
 mdoc_node_relink(struct mdoc *mdoc, struct mdoc_node *p)  mdoc_node_relink(struct mdoc *mdoc, struct mdoc_node *p)
 {  {
   
         mdoc_node_unlink(mdoc, p);          mdoc_node_unlink(mdoc, p);
         node_append(mdoc, p);          node_append(mdoc, p);
         return(1);  
 }  }
   
 /*  /*
Line 669  mdoc_ptext(struct mdoc *mdoc, int line, char *buf, int
Line 663  mdoc_ptext(struct mdoc *mdoc, int line, char *buf, int
                 mandoc_msg(MANDOCERR_SPACE_EOL, mdoc->parse,                  mandoc_msg(MANDOCERR_SPACE_EOL, mdoc->parse,
                     line, (int)(ws-buf), NULL);                      line, (int)(ws-buf), NULL);
   
         if ('\0' == buf[offs] && ! (MDOC_LITERAL & mdoc->flags)) {          if (buf[offs] == '\0' && ! (mdoc->flags & MDOC_LITERAL)) {
                 mandoc_msg(MANDOCERR_FI_BLANK, mdoc->parse,                  mandoc_msg(MANDOCERR_FI_BLANK, mdoc->parse,
                     line, (int)(c - buf), NULL);                      line, (int)(c - buf), NULL);
   
Line 678  mdoc_ptext(struct mdoc *mdoc, int line, char *buf, int
Line 672  mdoc_ptext(struct mdoc *mdoc, int line, char *buf, int
                  * blank lines aren't allowed, but enough manuals assume this                   * blank lines aren't allowed, but enough manuals assume this
                  * behaviour that we want to work around it.                   * behaviour that we want to work around it.
                  */                   */
                 if ( ! mdoc_elem_alloc(mdoc, line, offs, MDOC_sp, NULL))                  mdoc_elem_alloc(mdoc, line, offs, MDOC_sp, NULL);
                         return(0);  
   
                 mdoc->next = MDOC_NEXT_SIBLING;                  mdoc->next = MDOC_NEXT_SIBLING;
   
                 mdoc_valid_post(mdoc);                  mdoc_valid_post(mdoc);
                 return(1);                  return(1);
         }          }
   
         if ( ! mdoc_word_alloc(mdoc, line, offs, buf+offs))          mdoc_word_alloc(mdoc, line, offs, buf+offs);
                 return(0);  
   
         if (MDOC_LITERAL & mdoc->flags)          if (mdoc->flags & MDOC_LITERAL)
                 return(1);                  return(1);
   
         /*          /*

Legend:
Removed from v.1.230  
changed lines
  Added in v.1.231

CVSweb