[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.158 and 1.161

version 1.158, 2011/03/07 01:35:51 version 1.161, 2011/03/17 09:24:51
Line 74  static void  check_args(struct mdoc *, struct mdoc_nod
Line 74  static void  check_args(struct mdoc *, struct mdoc_nod
   
 static  int      concat(struct mdoc *, char *,  static  int      concat(struct mdoc *, char *,
                         const struct mdoc_node *, size_t);                          const struct mdoc_node *, size_t);
   static  enum mdoc_sec   a2sec(const char *);
   static  size_t          macro2len(enum mdoct);
   
 static  int      ebool(POST_ARGS);  static  int      ebool(POST_ARGS);
 static  int      berr_ge1(POST_ARGS);  static  int      berr_ge1(POST_ARGS);
Line 321  static const enum mdoct rsord[RSORD_MAX] = {
Line 323  static const enum mdoct rsord[RSORD_MAX] = {
         MDOC__U          MDOC__U
 };  };
   
   static  const char * const secnames[SEC__MAX] = {
           NULL,
           "NAME",
           "LIBRARY",
           "SYNOPSIS",
           "DESCRIPTION",
           "IMPLEMENTATION NOTES",
           "RETURN VALUES",
           "ENVIRONMENT",
           "FILES",
           "EXIT STATUS",
           "EXAMPLES",
           "DIAGNOSTICS",
           "COMPATIBILITY",
           "ERRORS",
           "SEE ALSO",
           "STANDARDS",
           "HISTORY",
           "AUTHORS",
           "CAVEATS",
           "BUGS",
           "SECURITY CONSIDERATIONS",
           NULL
   };
   
 int  int
 mdoc_valid_pre(struct mdoc *mdoc, struct mdoc_node *n)  mdoc_valid_pre(struct mdoc *mdoc, struct mdoc_node *n)
Line 1370  post_bl_block_width(POST_ARGS)
Line 1396  post_bl_block_width(POST_ARGS)
                 width = 6;                  width = 6;
         else if (MDOC_MAX == (tok = mdoc_hash_find(n->norm->Bl.width)))          else if (MDOC_MAX == (tok = mdoc_hash_find(n->norm->Bl.width)))
                 return(1);                  return(1);
         else if (0 == (width = mdoc_macro2len(tok)))  {          else if (0 == (width = macro2len(tok)))  {
                 mdoc_nmsg(mdoc, n, MANDOCERR_BADWIDTH);                  mdoc_nmsg(mdoc, n, MANDOCERR_BADWIDTH);
                 return(1);                  return(1);
         }          }
Line 1427  post_bl_block_tag(POST_ARGS)
Line 1453  post_bl_block_tag(POST_ARGS)
                         break;                          break;
                 }                  }
   
                 if (0 != (ssz = mdoc_macro2len(nn->tok)))                  if (0 != (ssz = macro2len(nn->tok)))
                         sz = ssz;                          sz = ssz;
   
                 break;                  break;
Line 1821  post_sh_head(POST_ARGS)
Line 1847  post_sh_head(POST_ARGS)
         if ( ! concat(mdoc, buf, mdoc->last->child, BUFSIZ))          if ( ! concat(mdoc, buf, mdoc->last->child, BUFSIZ))
                 return(0);                  return(0);
   
         sec = mdoc_str2sec(buf);          sec = a2sec(buf);
   
         /* The NAME should be first. */          /* The NAME should be first. */
   
Line 2127  post_bx(POST_ARGS)
Line 2153  post_bx(POST_ARGS)
   
         n = mdoc->last->child;          n = mdoc->last->child;
         if (n && NULL != (n = n->next))          if (n && NULL != (n = n->next))
                 *n->string = toupper((unsigned char)*n->string);                  *n->string = (char)toupper
                           ((unsigned char)*n->string);
   
         return(1);          return(1);
 }  }
Line 2254  concat(struct mdoc *m, char *p, const struct mdoc_node
Line 2281  concat(struct mdoc *m, char *p, const struct mdoc_node
         return(1);          return(1);
 }  }
   
   static enum mdoc_sec
   a2sec(const char *p)
   {
           int              i;
   
           for (i = 0; i < (int)SEC__MAX; i++)
                   if (secnames[i] && 0 == strcmp(p, secnames[i]))
                           return((enum mdoc_sec)i);
   
           return(SEC_CUSTOM);
   }
   
   static size_t
   macro2len(enum mdoct macro)
   {
   
           switch (macro) {
           case(MDOC_Ad):
                   return(12);
           case(MDOC_Ao):
                   return(12);
           case(MDOC_An):
                   return(12);
           case(MDOC_Aq):
                   return(12);
           case(MDOC_Ar):
                   return(12);
           case(MDOC_Bo):
                   return(12);
           case(MDOC_Bq):
                   return(12);
           case(MDOC_Cd):
                   return(12);
           case(MDOC_Cm):
                   return(10);
           case(MDOC_Do):
                   return(10);
           case(MDOC_Dq):
                   return(12);
           case(MDOC_Dv):
                   return(12);
           case(MDOC_Eo):
                   return(12);
           case(MDOC_Em):
                   return(10);
           case(MDOC_Er):
                   return(17);
           case(MDOC_Ev):
                   return(15);
           case(MDOC_Fa):
                   return(12);
           case(MDOC_Fl):
                   return(10);
           case(MDOC_Fo):
                   return(16);
           case(MDOC_Fn):
                   return(16);
           case(MDOC_Ic):
                   return(10);
           case(MDOC_Li):
                   return(16);
           case(MDOC_Ms):
                   return(6);
           case(MDOC_Nm):
                   return(10);
           case(MDOC_No):
                   return(12);
           case(MDOC_Oo):
                   return(10);
           case(MDOC_Op):
                   return(14);
           case(MDOC_Pa):
                   return(32);
           case(MDOC_Pf):
                   return(12);
           case(MDOC_Po):
                   return(12);
           case(MDOC_Pq):
                   return(12);
           case(MDOC_Ql):
                   return(16);
           case(MDOC_Qo):
                   return(12);
           case(MDOC_So):
                   return(12);
           case(MDOC_Sq):
                   return(12);
           case(MDOC_Sy):
                   return(6);
           case(MDOC_Sx):
                   return(16);
           case(MDOC_Tn):
                   return(10);
           case(MDOC_Va):
                   return(12);
           case(MDOC_Vt):
                   return(12);
           case(MDOC_Xr):
                   return(10);
           default:
                   break;
           };
           return(0);
   }

Legend:
Removed from v.1.158  
changed lines
  Added in v.1.161

CVSweb