[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.273 and 1.274

version 1.273, 2015/02/06 02:04:54 version 1.274, 2015/02/06 03:38:45
Line 67  static enum mdoc_sec a2sec(const char *);
Line 67  static enum mdoc_sec a2sec(const char *);
 static  size_t          macro2len(enum mdoct);  static  size_t          macro2len(enum mdoct);
 static  void     rewrite_macro2len(char **);  static  void     rewrite_macro2len(char **);
   
 static  void     bwarn_ge1(POST_ARGS);  
 static  void     ewarn_eq1(POST_ARGS);  static  void     ewarn_eq1(POST_ARGS);
 static  void     ewarn_ge1(POST_ARGS);  static  void     ewarn_ge1(POST_ARGS);
   
Line 151  static const struct valids mdoc_valids[MDOC_MAX] = {
Line 150  static const struct valids mdoc_valids[MDOC_MAX] = {
         { NULL, NULL },                         /* Ev */          { NULL, NULL },                         /* Ev */
         { pre_std, post_ex },                   /* Ex */          { pre_std, post_ex },                   /* Ex */
         { NULL, post_fa },                      /* Fa */          { NULL, post_fa },                      /* Fa */
         { NULL, ewarn_ge1 },                    /* Fd */          { NULL, NULL },                         /* Fd */
         { NULL, NULL },                         /* Fl */          { NULL, NULL },                         /* Fl */
         { NULL, post_fn },                      /* Fn */          { NULL, post_fn },                      /* Fn */
         { NULL, NULL },                         /* Ft */          { NULL, NULL },                         /* Ft */
Line 402  check_count(struct mdoc *mdoc, enum mdoc_type type,
Line 401  check_count(struct mdoc *mdoc, enum mdoc_type type,
 }  }
   
 static void  static void
 bwarn_ge1(POST_ARGS)  
 {  
         check_count(mdoc, MDOC_BODY, CHECK_GT, 0);  
 }  
   
 static void  
 ewarn_eq1(POST_ARGS)  ewarn_eq1(POST_ARGS)
 {  {
         check_count(mdoc, MDOC_ELEM, CHECK_EQ, 1);          check_count(mdoc, MDOC_ELEM, CHECK_EQ, 1);
Line 980  post_fn(POST_ARGS)
Line 973  post_fn(POST_ARGS)
 static void  static void
 post_fo(POST_ARGS)  post_fo(POST_ARGS)
 {  {
           const struct mdoc_node  *n;
   
         check_count(mdoc, MDOC_HEAD, CHECK_EQ, 1);          n = mdoc->last;
         bwarn_ge1(mdoc);  
         if (mdoc->last->type == MDOC_HEAD && mdoc->last->nchild)          if (n->type != MDOC_HEAD)
                 post_fname(mdoc);                  return;
   
           if (n->child == NULL) {
                   mandoc_msg(MANDOCERR_FO_NOHEAD, mdoc->parse,
                       n->line, n->pos, "Fo");
                   return;
           }
           if (n->child != n->last) {
                   mandoc_vmsg(MANDOCERR_ARG_EXCESS, mdoc->parse,
                       n->child->next->line, n->child->next->pos,
                       "Fo ... %s", n->child->next->string);
                   while (n->child != n->last)
                           mdoc_node_delete(mdoc, n->last);
           }
   
           post_fname(mdoc);
 }  }
   
 static void  static void

Legend:
Removed from v.1.273  
changed lines
  Added in v.1.274

CVSweb