[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.92 and 1.93

version 1.92, 2010/06/09 19:22:56 version 1.93, 2010/06/12 10:09:19
Line 683  pre_bl(PRE_ARGS)
Line 683  pre_bl(PRE_ARGS)
 static int  static int
 pre_bd(PRE_ARGS)  pre_bd(PRE_ARGS)
 {  {
         int              i, type, err;          int              i;
           enum mdoc_disp   dt;
   
         if (MDOC_BLOCK != n->type)          if (MDOC_BLOCK != n->type) {
                   assert(n->parent);
                   assert(MDOC_BLOCK == n->parent->type);
                   assert(MDOC_Bd == n->parent->tok);
                   assert(DISP__NONE != n->parent->data.disp);
                   n->data.disp = n->parent->data.disp;
                 return(1);                  return(1);
         if (NULL == n->args) {  
                 mdoc_nmsg(mdoc, n, MANDOCERR_DISPTYPE);  
                 return(0);  
         }          }
   
         /* Make sure that only one type of display is specified.  */          assert(DISP__NONE == n->data.disp);
   
         /* LINTED */          /* LINTED */
         for (i = 0, err = type = 0; ! err &&          for (i = 0; n->args && i < (int)n->args->argc; i++) {
                         i < (int)n->args->argc; i++)                  dt = DISP__NONE;
                 switch (n->args->argv[i].arg) {                  switch (n->args->argv[i].arg) {
                 case (MDOC_Centred):                  case (MDOC_Centred):
                         /* FALLTHROUGH */                          dt = DISP_centred;
                           break;
                 case (MDOC_Ragged):                  case (MDOC_Ragged):
                         /* FALLTHROUGH */                          dt = DISP_ragged;
                           break;
                 case (MDOC_Unfilled):                  case (MDOC_Unfilled):
                         /* FALLTHROUGH */                          dt = DISP_unfilled;
                           break;
                 case (MDOC_Filled):                  case (MDOC_Filled):
                         /* FALLTHROUGH */                          dt = DISP_filled;
                           break;
                 case (MDOC_Literal):                  case (MDOC_Literal):
                         if (0 == type++)                          dt = DISP_literal;
                                 break;  
                         if ( ! mdoc_nmsg(mdoc, n, MANDOCERR_DISPREP))  
                                 return(0);  
                         break;                          break;
                   case (MDOC_File):
                           mdoc_nmsg(mdoc, n, MANDOCERR_BADDISP);
                           return(0);
                   case (MDOC_Offset):
                           /* FALLTHROUGH */
                   case (MDOC_Compact):
                           /* FALLTHROUGH */
                 default:                  default:
                         break;                          break;
                 }                  }
   
         if (type)                  if (DISP__NONE != dt && n->data.disp != DISP__NONE)
                 return(1);                          if ( ! mdoc_nmsg(mdoc, n, MANDOCERR_DISPREP))
         mdoc_nmsg(mdoc, n, MANDOCERR_DISPTYPE);                                  return(0);
         return(0);  
                   if (DISP__NONE != dt && n->data.disp == DISP__NONE)
                           n->data.disp = dt;
           }
   
           if (DISP__NONE == n->data.disp) {
                   if ( ! mdoc_nmsg(mdoc, n, MANDOCERR_DISPTYPE))
                           return(0);
                   n->data.disp = DISP_ragged;
           }
   
           return(1);
 }  }
   
   

Legend:
Removed from v.1.92  
changed lines
  Added in v.1.93

CVSweb