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

Diff for /mandoc/mdoc.c between version 1.174 and 1.180

version 1.174, 2011/01/01 10:51:30 version 1.180, 2011/02/08 07:40:23
Line 99  static int    node_append(struct mdoc *, 
Line 99  static int    node_append(struct mdoc *, 
 static  int               mdoc_ptext(struct mdoc *, int, char *, int);  static  int               mdoc_ptext(struct mdoc *, int, char *, int);
 static  int               mdoc_pmacro(struct mdoc *, int, char *, int);  static  int               mdoc_pmacro(struct mdoc *, int, char *, int);
   
   
 const struct mdoc_node *  const struct mdoc_node *
 mdoc_node(const struct mdoc *m)  mdoc_node(const struct mdoc *m)
 {  {
   
         return(MDOC_HALT & m->flags ? NULL : m->first);          assert( ! (MDOC_HALT & m->flags));
           return(m->first);
 }  }
   
   
Line 112  const struct mdoc_meta *
Line 112  const struct mdoc_meta *
 mdoc_meta(const struct mdoc *m)  mdoc_meta(const struct mdoc *m)
 {  {
   
         return(MDOC_HALT & m->flags ? NULL : &m->meta);          assert( ! (MDOC_HALT & m->flags));
           return(&m->meta);
 }  }
   
   
Line 213  int
Line 214  int
 mdoc_endparse(struct mdoc *m)  mdoc_endparse(struct mdoc *m)
 {  {
   
         if (MDOC_HALT & m->flags)          assert( ! (MDOC_HALT & m->flags));
                 return(0);          if (mdoc_macroend(m))
         else if (mdoc_macroend(m))  
                 return(1);                  return(1);
         m->flags |= MDOC_HALT;          m->flags |= MDOC_HALT;
         return(0);          return(0);
 }  }
   
   int
   mdoc_addspan(struct mdoc *m, const struct tbl_span *sp)
   {
           struct mdoc_node *n;
   
           assert( ! (MDOC_HALT & m->flags));
   
           /* No text before an initial macro. */
   
           if (SEC_NONE == m->lastnamed) {
                   mdoc_pmsg(m, sp->line, 0, MANDOCERR_NOTEXT);
                   return(1);
           }
   
           n = node_alloc(m, sp->line, 0, MDOC_MAX, MDOC_TBL);
           n->span = sp;
   
           if ( ! node_append(m, n))
                   return(0);
   
           m->next = MDOC_NEXT_SIBLING;
           return(1);
   }
   
   
 /*  /*
  * Main parse routine.  Parses a single line -- really just hands off to   * Main parse routine.  Parses a single line -- really just hands off to
  * the macro (mdoc_pmacro()) or text parser (mdoc_ptext()).   * the macro (mdoc_pmacro()) or text parser (mdoc_ptext()).
Line 230  int
Line 254  int
 mdoc_parseln(struct mdoc *m, int ln, char *buf, int offs)  mdoc_parseln(struct mdoc *m, int ln, char *buf, int offs)
 {  {
   
         if (MDOC_HALT & m->flags)          assert( ! (MDOC_HALT & m->flags));
                 return(0);  
   
         m->flags |= MDOC_NEWLINE;          m->flags |= MDOC_NEWLINE;
   
Line 371  node_append(struct mdoc *mdoc, struct mdoc_node *p)
Line 394  node_append(struct mdoc *mdoc, struct mdoc_node *p)
         mdoc->last = p;          mdoc->last = p;
   
         switch (p->type) {          switch (p->type) {
           case (MDOC_TBL):
                   /* FALLTHROUGH */
         case (MDOC_TEXT):          case (MDOC_TEXT):
                 if ( ! mdoc_valid_post(mdoc))                  if ( ! mdoc_valid_post(mdoc))
                         return(0);                          return(0);
Line 524  mdoc_elem_alloc(struct mdoc *m, int line, int pos, 
Line 549  mdoc_elem_alloc(struct mdoc *m, int line, int pos, 
         m->next = MDOC_NEXT_CHILD;          m->next = MDOC_NEXT_CHILD;
         return(1);          return(1);
 }  }
   
   
 int  int
 mdoc_word_alloc(struct mdoc *m, int line, int pos, const char *p)  mdoc_word_alloc(struct mdoc *m, int line, int pos, const char *p)

Legend:
Removed from v.1.174  
changed lines
  Added in v.1.180

CVSweb