[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.240 and 1.241

version 1.240, 2014/08/01 17:40:34 version 1.241, 2014/08/01 22:22:11
Line 60  typedef int (*v_pre)(PRE_ARGS);
Line 60  typedef int (*v_pre)(PRE_ARGS);
 typedef int     (*v_post)(POST_ARGS);  typedef int     (*v_post)(POST_ARGS);
   
 struct  valids {  struct  valids {
         v_pre   *pre;          v_pre    pre;
         v_post  *post;          v_post  *post;
 };  };
   
Line 165  static v_post  posts_st[] = { post_st, NULL };
Line 165  static v_post  posts_st[] = { post_st, NULL };
 static  v_post   posts_text[] = { ewarn_ge1, NULL };  static  v_post   posts_text[] = { ewarn_ge1, NULL };
 static  v_post   posts_text1[] = { ewarn_eq1, NULL };  static  v_post   posts_text1[] = { ewarn_eq1, NULL };
 static  v_post   posts_vt[] = { post_vt, NULL };  static  v_post   posts_vt[] = { post_vt, NULL };
 static  v_pre    pres_an[] = { pre_an, NULL };  
 static  v_pre    pres_bd[] = { pre_display, pre_bd, pre_literal, pre_par, NULL };  
 static  v_pre    pres_bl[] = { pre_bl, pre_par, NULL };  
 static  v_pre    pres_d1[] = { pre_display, NULL };  
 static  v_pre    pres_dl[] = { pre_literal, pre_display, NULL };  
 static  v_pre    pres_dd[] = { pre_dd, NULL };  
 static  v_pre    pres_dt[] = { pre_dt, NULL };  
 static  v_pre    pres_it[] = { pre_par, NULL };  
 static  v_pre    pres_obsolete[] = { pre_obsolete, NULL };  
 static  v_pre    pres_os[] = { pre_os, NULL };  
 static  v_pre    pres_pp[] = { pre_par, NULL };  
 static  v_pre    pres_std[] = { pre_std, NULL };  
   
 static  const struct valids mdoc_valids[MDOC_MAX] = {  static  const struct valids mdoc_valids[MDOC_MAX] = {
         { NULL, NULL },                         /* Ap */          { NULL, NULL },                         /* Ap */
         { pres_dd, posts_dd },                  /* Dd */          { pre_dd, posts_dd },                   /* Dd */
         { pres_dt, posts_dt },                  /* Dt */          { pre_dt, posts_dt },                   /* Dt */
         { pres_os, posts_os },                  /* Os */          { pre_os, posts_os },                   /* Os */
         { NULL, posts_sh },                     /* Sh */          { NULL, posts_sh },                     /* Sh */
         { NULL, posts_ss },                     /* Ss */          { NULL, posts_ss },                     /* Ss */
         { pres_pp, posts_pp },                  /* Pp */          { pre_par, posts_pp },                  /* Pp */
         { pres_d1, posts_d1 },                  /* D1 */          { pre_display, posts_d1 },              /* D1 */
         { pres_dl, posts_dl },                  /* Dl */          { pre_literal, posts_dl },              /* Dl */
         { pres_bd, posts_bd },                  /* Bd */          { pre_bd, posts_bd },                   /* Bd */
         { NULL, NULL },                         /* Ed */          { NULL, NULL },                         /* Ed */
         { pres_bl, posts_bl },                  /* Bl */          { pre_bl, posts_bl },                   /* Bl */
         { NULL, NULL },                         /* El */          { NULL, NULL },                         /* El */
         { pres_it, posts_it },                  /* It */          { pre_par, posts_it },                  /* It */
         { NULL, NULL },                         /* Ad */          { NULL, NULL },                         /* Ad */
         { pres_an, posts_an },                  /* An */          { pre_an, posts_an },                   /* An */
         { NULL, posts_defaults },               /* Ar */          { NULL, posts_defaults },               /* Ar */
         { NULL, NULL },                         /* Cd */          { NULL, NULL },                         /* Cd */
         { NULL, NULL },                         /* Cm */          { NULL, NULL },                         /* Cm */
         { NULL, NULL },                         /* Dv */          { NULL, NULL },                         /* Dv */
         { NULL, NULL },                         /* Er */          { NULL, NULL },                         /* Er */
         { NULL, NULL },                         /* Ev */          { NULL, NULL },                         /* Ev */
         { pres_std, posts_ex },                 /* Ex */          { pre_std, posts_ex },                  /* Ex */
         { NULL, NULL },                         /* Fa */          { NULL, NULL },                         /* Fa */
         { NULL, posts_text },                   /* Fd */          { NULL, posts_text },                   /* Fd */
         { NULL, NULL },                         /* Fl */          { NULL, NULL },                         /* Fl */
Line 213  static const struct valids mdoc_valids[MDOC_MAX] = {
Line 201  static const struct valids mdoc_valids[MDOC_MAX] = {
         { NULL, posts_nd },                     /* Nd */          { NULL, posts_nd },                     /* Nd */
         { NULL, posts_nm },                     /* Nm */          { NULL, posts_nm },                     /* Nm */
         { NULL, NULL },                         /* Op */          { NULL, NULL },                         /* Op */
         { pres_obsolete, NULL },                /* Ot */          { pre_obsolete, NULL },                 /* Ot */
         { NULL, posts_defaults },               /* Pa */          { NULL, posts_defaults },               /* Pa */
         { pres_std, NULL },                     /* Rv */          { pre_std, NULL },                      /* Rv */
         { NULL, posts_st },                     /* St */          { NULL, posts_st },                     /* St */
         { NULL, NULL },                         /* Va */          { NULL, NULL },                         /* Va */
         { NULL, posts_vt },                     /* Vt */          { NULL, posts_vt },                     /* Vt */
Line 283  static const struct valids mdoc_valids[MDOC_MAX] = {
Line 271  static const struct valids mdoc_valids[MDOC_MAX] = {
         { NULL, NULL },                         /* Ek */          { NULL, NULL },                         /* Ek */
         { NULL, posts_eoln },                   /* Bt */          { NULL, posts_eoln },                   /* Bt */
         { NULL, NULL },                         /* Hf */          { NULL, NULL },                         /* Hf */
         { pres_obsolete, NULL },                /* Fr */          { pre_obsolete, NULL },                 /* Fr */
         { NULL, posts_eoln },                   /* Ud */          { NULL, posts_eoln },                   /* Ud */
         { NULL, posts_lb },                     /* Lb */          { NULL, posts_lb },                     /* Lb */
         { pres_pp, posts_pp },                  /* Lp */          { pre_par, posts_pp },                  /* Lp */
         { NULL, NULL },                         /* Lk */          { NULL, NULL },                         /* Lk */
         { NULL, posts_defaults },               /* Mt */          { NULL, posts_defaults },               /* Mt */
         { NULL, NULL },                         /* Brq */          { NULL, NULL },                         /* Brq */
         { NULL, NULL },                         /* Bro */          { NULL, NULL },                         /* Bro */
         { NULL, NULL },                         /* Brc */          { NULL, NULL },                         /* Brc */
         { NULL, posts_text },                   /* %C */          { NULL, posts_text },                   /* %C */
         { pres_obsolete, posts_es },            /* Es */          { pre_obsolete, posts_es },             /* Es */
         { pres_obsolete, posts_en },            /* En */          { pre_obsolete, posts_en },             /* En */
         { NULL, NULL },                         /* Dx */          { NULL, NULL },                         /* Dx */
         { NULL, posts_text },                   /* %Q */          { NULL, posts_text },                   /* %Q */
         { NULL, posts_pp },                     /* br */          { NULL, posts_pp },                     /* br */
Line 353  static const char * const secnames[SEC__MAX] = {
Line 341  static const char * const secnames[SEC__MAX] = {
 int  int
 mdoc_valid_pre(struct mdoc *mdoc, struct mdoc_node *n)  mdoc_valid_pre(struct mdoc *mdoc, struct mdoc_node *n)
 {  {
         v_pre           *p;          v_pre    p;
         int              line, pos;  
         char            *tp;  
   
         switch (n->type) {          switch (n->type) {
         case MDOC_TEXT:          case MDOC_TEXT:
                 tp = n->string;                  check_text(mdoc, n->line, n->pos, n->string);
                 line = n->line;  
                 pos = n->pos;  
                 check_text(mdoc, line, pos, tp);  
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case MDOC_TBL:          case MDOC_TBL:
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
Line 375  mdoc_valid_pre(struct mdoc *mdoc, struct mdoc_node *n)
Line 358  mdoc_valid_pre(struct mdoc *mdoc, struct mdoc_node *n)
         }          }
   
         check_args(mdoc, n);          check_args(mdoc, n);
           p = mdoc_valids[n->tok].pre;
         if (NULL == mdoc_valids[n->tok].pre)          return(*p ? (*p)(mdoc, n) : 1);
                 return(1);  
         for (p = mdoc_valids[n->tok].pre; *p; p++)  
                 if ( ! (*p)(mdoc, n))  
                         return(0);  
         return(1);  
 }  }
   
 int  int
Line 753  pre_bl(PRE_ARGS)
Line 731  pre_bl(PRE_ARGS)
                 break;                  break;
         }          }
   
         return(1);          return(pre_par(mdoc, n));
 }  }
   
 static int  static int
Line 764  pre_bd(PRE_ARGS)
Line 742  pre_bd(PRE_ARGS)
         int               i;          int               i;
         enum mdoc_disp    dt;          enum mdoc_disp    dt;
   
           pre_literal(mdoc, n);
   
         if (MDOC_BLOCK != n->type) {          if (MDOC_BLOCK != n->type) {
                 if (ENDBODY_NOT != n->end) {                  if (ENDBODY_NOT != n->end) {
                         assert(n->pending);                          assert(n->pending);
Line 843  pre_bd(PRE_ARGS)
Line 823  pre_bd(PRE_ARGS)
                 n->norm->Bd.type = DISP_ragged;                  n->norm->Bd.type = DISP_ragged;
         }          }
   
         return(1);          return(pre_par(mdoc, n));
 }  }
   
 static int  static int
Line 2112  post_par(POST_ARGS)
Line 2092  post_par(POST_ARGS)
 static int  static int
 pre_literal(PRE_ARGS)  pre_literal(PRE_ARGS)
 {  {
   
           pre_display(mdoc, n);
   
         if (MDOC_BODY != n->type)          if (MDOC_BODY != n->type)
                 return(1);                  return(1);

Legend:
Removed from v.1.240  
changed lines
  Added in v.1.241

CVSweb