[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.84 and 1.87

version 1.84, 2010/05/26 10:39:35 version 1.87, 2010/05/30 22:56:02
Line 83  static int  post_at(POST_ARGS);
Line 83  static int  post_at(POST_ARGS);
 static  int      post_bf(POST_ARGS);  static  int      post_bf(POST_ARGS);
 static  int      post_bl(POST_ARGS);  static  int      post_bl(POST_ARGS);
 static  int      post_bl_head(POST_ARGS);  static  int      post_bl_head(POST_ARGS);
   static  int      post_dt(POST_ARGS);
 static  int      post_it(POST_ARGS);  static  int      post_it(POST_ARGS);
 static  int      post_lb(POST_ARGS);  static  int      post_lb(POST_ARGS);
 static  int      post_nm(POST_ARGS);  static  int      post_nm(POST_ARGS);
Line 113  static v_post  posts_bf[] = { hwarn_le1, post_bf, NULL
Line 114  static v_post  posts_bf[] = { hwarn_le1, post_bf, NULL
 static  v_post   posts_bl[] = { bwarn_ge1, post_bl, NULL };  static  v_post   posts_bl[] = { bwarn_ge1, post_bl, NULL };
 static  v_post   posts_bool[] = { eerr_eq1, ebool, NULL };  static  v_post   posts_bool[] = { eerr_eq1, ebool, NULL };
 static  v_post   posts_eoln[] = { post_eoln, NULL };  static  v_post   posts_eoln[] = { post_eoln, NULL };
   static  v_post   posts_dt[] = { post_dt, 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_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 };
Line 147  static v_pre  pres_ss[] = { pre_ss, NULL };
Line 149  static v_pre  pres_ss[] = { pre_ss, NULL };
 const   struct valids mdoc_valids[MDOC_MAX] = {  const   struct valids mdoc_valids[MDOC_MAX] = {
         { NULL, NULL },                         /* Ap */          { NULL, NULL },                         /* Ap */
         { pres_dd, posts_text },                /* Dd */          { pres_dd, posts_text },                /* Dd */
         { pres_dt, NULL },                      /* Dt */          { pres_dt, posts_dt },                  /* Dt */
         { pres_os, NULL },                      /* Os */          { pres_os, NULL },                      /* Os */
         { pres_sh, posts_sh },                  /* Sh */          { pres_sh, posts_sh },                  /* Sh */
         { pres_ss, posts_ss },                  /* Ss */          { pres_ss, posts_ss },                  /* Ss */
Line 738  pre_rv(PRE_ARGS)
Line 740  pre_rv(PRE_ARGS)
   
   
 static int  static int
 pre_dt(PRE_ARGS)  post_dt(POST_ARGS)
 {  {
           const struct mdoc_node *nn;
           const char      *p;
   
         /* FIXME: make sure is capitalised. */          if (NULL != (nn = mdoc->last->child))
                   for (p = nn->string; *p; p++) {
                           if (toupper((u_char)*p) == *p)
                                   continue;
                           if ( ! mdoc_nmsg(mdoc, nn, MANDOCERR_UPPERCASE))
                                   return(0);
                           break;
                   }
   
           return(1);
   }
   
   
   static int
   pre_dt(PRE_ARGS)
   {
   
         if (0 == mdoc->meta.date || mdoc->meta.os)          if (0 == mdoc->meta.date || mdoc->meta.os)
                 if ( ! mdoc_nmsg(mdoc, n, MANDOCERR_PROLOGOOO))                  if ( ! mdoc_nmsg(mdoc, n, MANDOCERR_PROLOGOOO))
                         return(0);                          return(0);
Line 909  post_an(POST_ARGS)
Line 928  post_an(POST_ARGS)
 static int  static int
 post_it(POST_ARGS)  post_it(POST_ARGS)
 {  {
           /* FIXME: use mdoc_list! */
         int               type, i, cols;          int               type, i, cols;
         struct mdoc_node *n, *c;          struct mdoc_node *n, *c;
   
Line 998  post_it(POST_ARGS)
Line 1018  post_it(POST_ARGS)
                                 return(0);                                  return(0);
                 break;                  break;
         case (MDOC_Column):          case (MDOC_Column):
                 if (NULL == mdoc->last->head->child)                  assert(NULL == mdoc->last->head->child);
                         if ( ! mdoc_nmsg(mdoc, mdoc->last, MANDOCERR_NOARGS))                  if (NULL == mdoc->last->body->child)
                           if ( ! mdoc_nmsg(mdoc, mdoc->last, MANDOCERR_NOBODY))
                                 return(0);                                  return(0);
                 if (mdoc->last->body->child)  
                         if ( ! mdoc_nmsg(mdoc, mdoc->last, MANDOCERR_BODYLOST))                  /* Count up the number of columns.  */
                                 return(0);  
                 c = mdoc->last->child;                  c = mdoc->last->child;
                 for (i = 0; c && MDOC_HEAD == c->type; c = c->next)                  for (i = 0; c; c = c->next)
                         i++;                          if (MDOC_BODY == c->type)
                                   i++;
   
                 if (i < cols) {                  if (i < cols) {
                         if ( ! mdoc_vmsg(mdoc, MANDOCERR_ARGCOUNT,                          if ( ! mdoc_vmsg(mdoc, MANDOCERR_ARGCOUNT,

Legend:
Removed from v.1.84  
changed lines
  Added in v.1.87

CVSweb