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

Diff for /mandoc/mdoc_validate.c between version 1.142 and 1.144

version 1.142, 2010/12/16 00:53:04 version 1.144, 2010/12/16 17:14:48
Line 144  static v_post  posts_dd[] = { ewarn_ge1, post_dd, post
Line 144  static v_post  posts_dd[] = { ewarn_ge1, post_dd, post
 static  v_post   posts_dl[] = { post_literal, bwarn_ge1, herr_eq0, NULL };  static  v_post   posts_dl[] = { post_literal, bwarn_ge1, herr_eq0, NULL };
 static  v_post   posts_dt[] = { post_dt, post_prol, NULL };  static  v_post   posts_dt[] = { post_dt, post_prol, NULL };
 static  v_post   posts_fo[] = { hwarn_eq1, bwarn_ge1, NULL };  static  v_post   posts_fo[] = { hwarn_eq1, bwarn_ge1, NULL };
 static  v_post   posts_it[] = { post_ignpar, post_it, NULL };  static  v_post   posts_it[] = { post_it, NULL };
 static  v_post   posts_lb[] = { eerr_eq1, post_lb, NULL };  static  v_post   posts_lb[] = { eerr_eq1, post_lb, NULL };
 static  v_post   posts_nd[] = { berr_ge1, NULL };  static  v_post   posts_nd[] = { berr_ge1, NULL };
 static  v_post   posts_nm[] = { post_nm, NULL };  static  v_post   posts_nm[] = { post_nm, NULL };
Line 904  pre_an(PRE_ARGS)
Line 904  pre_an(PRE_ARGS)
 {  {
         int              i;          int              i;
   
           assert(NULL == n->data.An);
           n->data.An = mandoc_calloc(1, sizeof(struct mdoc_an));
   
         if (NULL == n->args)          if (NULL == n->args)
                 return(1);                  return(1);
   
Line 912  pre_an(PRE_ARGS)
Line 915  pre_an(PRE_ARGS)
                         n->args->argv[i].pos, MANDOCERR_IGNARGV);                          n->args->argv[i].pos, MANDOCERR_IGNARGV);
   
         if (MDOC_Split == n->args->argv[0].arg)          if (MDOC_Split == n->args->argv[0].arg)
                 n->data.An.auth = AUTH_split;                  n->data.An->auth = AUTH_split;
         else if (MDOC_Nosplit == n->args->argv[0].arg)          else if (MDOC_Nosplit == n->args->argv[0].arg)
                 n->data.An.auth = AUTH_nosplit;                  n->data.An->auth = AUTH_nosplit;
         else          else
                 abort();                  abort();
   
Line 1247  post_an(POST_ARGS)
Line 1250  post_an(POST_ARGS)
         struct mdoc_node *np;          struct mdoc_node *np;
   
         np = mdoc->last;          np = mdoc->last;
         if (AUTH__NONE != np->data.An.auth && np->child)          if (AUTH__NONE != np->data.An->auth && np->child)
                 return(eerr_eq0(mdoc));                  return(eerr_eq0(mdoc));
   
         /*          /*
          * FIXME: make this ewarn and make sure that the front-ends           * FIXME: make this ewarn and make sure that the front-ends
          * don't print the arguments.           * don't print the arguments.
          */           */
         if (AUTH__NONE != np->data.An.auth || np->child)          if (AUTH__NONE != np->data.An->auth || np->child)
                 return(1);                  return(1);
   
         mdoc_nmsg(mdoc, np, MANDOCERR_NOARGS);          mdoc_nmsg(mdoc, np, MANDOCERR_NOARGS);
Line 1886  post_ignpar(POST_ARGS)
Line 1889  post_ignpar(POST_ARGS)
         if (MDOC_BODY != mdoc->last->type)          if (MDOC_BODY != mdoc->last->type)
                 return(1);                  return(1);
   
         /*          if (NULL != (np = mdoc->last->child))
          * Lists are allowed to have paragraphs as the first macro (I  
          * have no idea why: it really uglifies things).  
          */  
   
         np = mdoc->last->child;  
         if (NULL != np && MDOC_It != mdoc->last->tok)  
                 if (MDOC_Pp == np->tok || MDOC_Lp == np->tok) {                  if (MDOC_Pp == np->tok || MDOC_Lp == np->tok) {
                         mdoc_nmsg(mdoc, np, MANDOCERR_IGNPAR);                          mdoc_nmsg(mdoc, np, MANDOCERR_IGNPAR);
                         mdoc_node_delete(mdoc, np);                          mdoc_node_delete(mdoc, np);
                 }                  }
   
         /*  
          * Compact lists are allowed to have trailing paragraph macros;  
          * however, nobody else is (including non-compact lists).  
          */  
   
         np = mdoc->last;  
         if (MDOC_It == np->tok && ! np->parent->parent->data.Bl->comp)  
                 return(1);  
   
         if (NULL != (np = mdoc->last->last))          if (NULL != (np = mdoc->last->last))
                 if (MDOC_Pp == np->tok || MDOC_Lp == np->tok) {                  if (MDOC_Pp == np->tok || MDOC_Lp == np->tok) {

Legend:
Removed from v.1.142  
changed lines
  Added in v.1.144

CVSweb