[BACK]Return to validate.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/Attic/validate.c between version 1.33 and 1.34

version 1.33, 2009/01/16 14:04:26 version 1.34, 2009/01/16 14:15:12
Line 49  static int pre_prologue(struct mdoc *, struct mdoc_nod
Line 49  static int pre_prologue(struct mdoc *, struct mdoc_nod
 static  int     pre_prologue(struct mdoc *, struct mdoc_node *);  static  int     pre_prologue(struct mdoc *, struct mdoc_node *);
 static  int     pre_prologue(struct mdoc *, struct mdoc_node *);  static  int     pre_prologue(struct mdoc *, struct mdoc_node *);
   
 static  int     headchild_err_ge1(struct mdoc *);  static  int     head_err_ge1(struct mdoc *);
 static  int     headchild_warn_ge1(struct mdoc *);  static  int     head_warn_ge1(struct mdoc *);
 static  int     headchild_err_eq0(struct mdoc *);  static  int     head_err_eq0(struct mdoc *);
 static  int     elemchild_err_eq0(struct mdoc *);  static  int     elem_err_eq0(struct mdoc *);
 static  int     elemchild_err_ge1(struct mdoc *);  static  int     elem_err_eq1(struct mdoc *);
 static  int     elemchild_warn_eq0(struct mdoc *);  static  int     elem_err_ge1(struct mdoc *);
 static  int     bodychild_warn_ge1(struct mdoc *);  static  int     elem_warn_eq0(struct mdoc *);
 static  int     bodychild_err_eq0(struct mdoc *);  static  int     body_warn_ge1(struct mdoc *);
 static  int     elemchild_warn_ge1(struct mdoc *);  static  int     body_err_eq0(struct mdoc *);
   static  int     elem_warn_ge1(struct mdoc *);
   static  int     elem_bool(struct mdoc *);
 static  int     post_sh(struct mdoc *);  static  int     post_sh(struct mdoc *);
 static  int     post_bl(struct mdoc *);  static  int     post_bl(struct mdoc *);
 static  int     post_it(struct mdoc *);  static  int     post_it(struct mdoc *);
Line 73  static v_pre pres_cd[] = { pre_cd, NULL };
Line 75  static v_pre pres_cd[] = { pre_cd, NULL };
 static  v_pre   pres_er[] = { pre_er, NULL };  static  v_pre   pres_er[] = { pre_er, NULL };
 static  v_pre   pres_ex[] = { pre_ex, NULL };  static  v_pre   pres_ex[] = { pre_ex, NULL };
   
 static  v_post  posts_bd[] = { headchild_err_eq0, bodychild_warn_ge1, NULL };  static  v_post  posts_bool[] = { elem_err_eq1, elem_bool, NULL };
 static  v_post  posts_text[] = { elemchild_err_ge1, NULL };  static  v_post  posts_bd[] = { head_err_eq0, body_warn_ge1, NULL };
 static  v_post  posts_wtext[] = { elemchild_warn_ge1, NULL };  static  v_post  posts_text[] = { elem_err_ge1, NULL };
 static  v_post  posts_notext[] = { elemchild_err_eq0, NULL };  static  v_post  posts_wtext[] = { elem_warn_ge1, NULL };
 static  v_post  posts_wline[] = { headchild_warn_ge1, bodychild_err_eq0, NULL };  static  v_post  posts_notext[] = { elem_err_eq0, NULL };
 static  v_post  posts_sh[] = { headchild_err_ge1, bodychild_warn_ge1, post_sh, NULL };  static  v_post  posts_wline[] = { head_warn_ge1, body_err_eq0, NULL };
 static  v_post  posts_bl[] = { headchild_err_eq0, bodychild_warn_ge1, post_bl, NULL };  static  v_post  posts_sh[] = { head_err_ge1,
                           body_warn_ge1, post_sh, NULL };
   static  v_post  posts_bl[] = { head_err_eq0,
                           body_warn_ge1, post_bl, NULL };
 static  v_post  posts_it[] = { post_it, NULL };  static  v_post  posts_it[] = { post_it, NULL };
 static  v_post  posts_ss[] = { headchild_err_ge1, NULL };  static  v_post  posts_ss[] = { head_err_ge1, NULL };
 static  v_post  posts_pp[] = { elemchild_warn_eq0, NULL };  static  v_post  posts_pp[] = { elem_warn_eq0, NULL };
 static  v_post  posts_d1[] = { headchild_err_ge1, NULL };  static  v_post  posts_d1[] = { head_err_ge1, NULL };
   
   
 const   struct valids mdoc_valids[MDOC_MAX] = {  const   struct valids mdoc_valids[MDOC_MAX] = {
Line 156  const struct valids mdoc_valids[MDOC_MAX] = {
Line 161  const struct valids mdoc_valids[MDOC_MAX] = {
         { NULL, posts_wline }, /* Bq */          { NULL, posts_wline }, /* Bq */
         { NULL, NULL }, /* Bsx */          { NULL, NULL }, /* Bsx */
         { NULL, NULL }, /* Bx */          { NULL, NULL }, /* Bx */
         { NULL, NULL }, /* Db */ /* FIXME: boolean */          { NULL, posts_bool }, /* Db */
         { NULL, NULL }, /* Dc */          { NULL, NULL }, /* Dc */
         { NULL, NULL }, /* Do */          { NULL, NULL }, /* Do */
         { NULL, posts_wline }, /* Dq */          { NULL, posts_wline }, /* Dq */
Line 183  const struct valids mdoc_valids[MDOC_MAX] = {
Line 188  const struct valids mdoc_valids[MDOC_MAX] = {
         { NULL, NULL }, /* Sc */          { NULL, NULL }, /* Sc */
         { NULL, NULL }, /* So */          { NULL, NULL }, /* So */
         { NULL, posts_wline }, /* Sq */          { NULL, posts_wline }, /* Sq */
         { NULL, NULL }, /* Sm */ /* FIXME: boolean */          { NULL, posts_bool }, /* Sm */
         { NULL, posts_text }, /* Sx */          { NULL, posts_text }, /* Sx */
         { NULL, posts_text }, /* Sy */          { NULL, posts_text }, /* Sy */
         { NULL, posts_text }, /* Tn */          { NULL, posts_text }, /* Tn */
Line 235  pre_check_parent(struct mdoc *mdoc, struct mdoc_node *
Line 240  pre_check_parent(struct mdoc *mdoc, struct mdoc_node *
   
   
 static int  static int
 bodychild_err_eq0(struct mdoc *mdoc)  body_err_eq0(struct mdoc *mdoc)
 {  {
   
         if (MDOC_BODY != mdoc->last->type)          if (MDOC_BODY != mdoc->last->type)
Line 247  bodychild_err_eq0(struct mdoc *mdoc)
Line 252  bodychild_err_eq0(struct mdoc *mdoc)
   
   
 static int  static int
 bodychild_warn_ge1(struct mdoc *mdoc)  body_warn_ge1(struct mdoc *mdoc)
 {  {
   
         if (MDOC_BODY != mdoc->last->type)          if (MDOC_BODY != mdoc->last->type)
Line 259  bodychild_warn_ge1(struct mdoc *mdoc)
Line 264  bodychild_warn_ge1(struct mdoc *mdoc)
   
   
 static int  static int
 elemchild_warn_eq0(struct mdoc *mdoc)  elem_warn_eq0(struct mdoc *mdoc)
 {  {
   
         assert(MDOC_ELEM == mdoc->last->type);          assert(MDOC_ELEM == mdoc->last->type);
Line 271  elemchild_warn_eq0(struct mdoc *mdoc)
Line 276  elemchild_warn_eq0(struct mdoc *mdoc)
   
   
 static int  static int
 elemchild_warn_ge1(struct mdoc *mdoc)  elem_warn_ge1(struct mdoc *mdoc)
 {  {
   
         assert(MDOC_ELEM == mdoc->last->type);          assert(MDOC_ELEM == mdoc->last->type);
Line 282  elemchild_warn_ge1(struct mdoc *mdoc)
Line 287  elemchild_warn_ge1(struct mdoc *mdoc)
   
   
 static int  static int
 elemchild_err_eq0(struct mdoc *mdoc)  elem_err_eq1(struct mdoc *mdoc)
 {  {
   
         assert(MDOC_ELEM == mdoc->last->type);          assert(MDOC_ELEM == mdoc->last->type);
         if (NULL == mdoc->last->child)          if (NULL == mdoc->last->child)
                   return(mdoc_err(mdoc, "macro expects one parameter"));
           if (mdoc->last->child->next)
                   return(mdoc_err(mdoc, "macro expects one parameter"));
           return(1);
   }
   
   
   static int
   elem_err_eq0(struct mdoc *mdoc)
   {
   
           assert(MDOC_ELEM == mdoc->last->type);
           if (NULL == mdoc->last->child)
                 return(1);                  return(1);
         return(mdoc_err(mdoc, "macro expects no parameters"));          return(mdoc_err(mdoc, "macro expects no parameters"));
 }  }
   
   
 static int  static int
 elemchild_err_ge1(struct mdoc *mdoc)  elem_err_ge1(struct mdoc *mdoc)
 {  {
   
         assert(MDOC_ELEM == mdoc->last->type);          assert(MDOC_ELEM == mdoc->last->type);
Line 304  elemchild_err_ge1(struct mdoc *mdoc)
Line 322  elemchild_err_ge1(struct mdoc *mdoc)
   
   
 static int  static int
 headchild_err_eq0(struct mdoc *mdoc)  head_err_eq0(struct mdoc *mdoc)
 {  {
   
         if (MDOC_HEAD != mdoc->last->type)          if (MDOC_HEAD != mdoc->last->type)
Line 317  headchild_err_eq0(struct mdoc *mdoc)
Line 335  headchild_err_eq0(struct mdoc *mdoc)
   
   
 static int  static int
 headchild_warn_ge1(struct mdoc *mdoc)  head_warn_ge1(struct mdoc *mdoc)
 {  {
   
         if (MDOC_HEAD != mdoc->last->type)          if (MDOC_HEAD != mdoc->last->type)
Line 329  headchild_warn_ge1(struct mdoc *mdoc)
Line 347  headchild_warn_ge1(struct mdoc *mdoc)
   
   
 static int  static int
 headchild_err_ge1(struct mdoc *mdoc)  head_err_ge1(struct mdoc *mdoc)
 {  {
   
         if (MDOC_HEAD != mdoc->last->type)          if (MDOC_HEAD != mdoc->last->type)
Line 712  post_bl(struct mdoc *mdoc)
Line 730  post_bl(struct mdoc *mdoc)
         if (NULL == n)          if (NULL == n)
                 return(1);                  return(1);
         return(mdoc_nerr(mdoc, n, "invalid child of parent macro `Bl'"));          return(mdoc_nerr(mdoc, n, "invalid child of parent macro `Bl'"));
   }
   
   
   static int
   elem_bool(struct mdoc *mdoc)
   {
           struct mdoc_node *n;
   
           assert(MDOC_ELEM == mdoc->last->type);
           for (n = mdoc->last->child; n; n = n->next) {
                   if (MDOC_TEXT != n->type)
                           break;
                   if (xstrcmp(n->data.text.string, "on"))
                           continue;
                   if (xstrcmp(n->data.text.string, "off"))
                           continue;
                   break;
           }
           if (NULL == n)
                   return(1);
           return(mdoc_nerr(mdoc, n, "expected boolean value [on/off]"));
 }  }
   
   

Legend:
Removed from v.1.33  
changed lines
  Added in v.1.34

CVSweb