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

Diff for /mandoc/Attic/validate.c between version 1.71 and 1.78

version 1.71, 2009/03/08 11:41:22 version 1.78, 2009/03/09 14:19:59
Line 16 
Line 16 
  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR   * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  * PERFORMANCE OF THIS SOFTWARE.   * PERFORMANCE OF THIS SOFTWARE.
  */   */
   #include <sys/types.h>
   
 #include <assert.h>  #include <assert.h>
 #include <ctype.h>  #include <ctype.h>
 #include <stdarg.h>  #include <stdarg.h>
Line 135  static int bwarn_ge1(POST_ARGS);
Line 137  static int bwarn_ge1(POST_ARGS);
 static  int     hwarn_eq1(POST_ARGS);  static  int     hwarn_eq1(POST_ARGS);
 static  int     ewarn_ge1(POST_ARGS);  static  int     ewarn_ge1(POST_ARGS);
 static  int     ebool(POST_ARGS);  static  int     ebool(POST_ARGS);
   
 static  int     post_an(POST_ARGS);  static  int     post_an(POST_ARGS);
 static  int     post_at(POST_ARGS);  static  int     post_at(POST_ARGS);
 static  int     post_bf(POST_ARGS);  static  int     post_bf(POST_ARGS);
Line 177  static v_post posts_in[] = { ewarn_eq1, NULL };
Line 180  static v_post posts_in[] = { ewarn_eq1, NULL };
 static  v_post  posts_ss[] = { herr_ge1, NULL };  static  v_post  posts_ss[] = { herr_ge1, NULL };
 static  v_post  posts_pf[] = { eerr_eq1, NULL };  static  v_post  posts_pf[] = { eerr_eq1, NULL };
 static  v_post  posts_lb[] = { eerr_eq1, NULL };  static  v_post  posts_lb[] = { eerr_eq1, NULL };
   static  v_post  posts_mt[] = { eerr_ge1, NULL };
 static  v_post  posts_st[] = { eerr_eq1, post_st, NULL };  static  v_post  posts_st[] = { eerr_eq1, post_st, NULL };
 static  v_post  posts_pp[] = { ewarn_eq0, NULL };  static  v_post  posts_pp[] = { ewarn_eq0, NULL };
 static  v_post  posts_ex[] = { eerr_eq0, post_ex, NULL };  static  v_post  posts_ex[] = { eerr_eq0, post_ex, NULL };
 static  v_post  posts_an[] = { post_an, NULL };  static  v_post  posts_an[] = { post_an, NULL };
 static  v_post  posts_at[] = { post_at, NULL };  static  v_post  posts_at[] = { post_at, NULL };
 static  v_post  posts_xr[] = { eerr_ge1, eerr_le2, NULL };  static  v_post  posts_xr[] = { eerr_ge1, eerr_le2, NULL };
   static  v_post  posts_lk[] = { eerr_ge1, NULL };
 static  v_post  posts_nm[] = { post_nm, NULL };  static  v_post  posts_nm[] = { post_nm, NULL };
 static  v_post  posts_bf[] = { hwarn_le1, post_bf, NULL };  static  v_post  posts_bf[] = { hwarn_le1, post_bf, NULL };
 static  v_post  posts_rs[] = { herr_eq0, bwarn_ge1, NULL };  static  v_post  posts_rs[] = { herr_eq0, bwarn_ge1, NULL };
Line 298  const struct valids mdoc_valids[MDOC_MAX] = {
Line 303  const struct valids mdoc_valids[MDOC_MAX] = {
         { NULL, NULL },                         /* Fr */          { NULL, NULL },                         /* Fr */
         { NULL, posts_notext },                 /* Ud */          { NULL, posts_notext },                 /* Ud */
         { pres_lb, posts_lb },                  /* Lb */          { pres_lb, posts_lb },                  /* Lb */
           { NULL, NULL },                         /* Lb */
           { NULL, posts_pp },                     /* Pp */
           { NULL, posts_lk },                     /* Lk */
           { NULL, posts_mt },                     /* Mt */
 };  };
   
   
Line 638  check_args(struct mdoc *m, const struct mdoc_node *n)
Line 647  check_args(struct mdoc *m, const struct mdoc_node *n)
         if (NULL == n->args)          if (NULL == n->args)
                 return(1);                  return(1);
   
           assert(n->args->argc);
         for (i = 0; i < (int)n->args->argc; i++)          for (i = 0; i < (int)n->args->argc; i++)
                 if ( ! check_argv(m, n, &n->args->argv[i]))                  if ( ! check_argv(m, n, &n->args->argv[i]))
                         return(0);                          return(0);
Line 684  check_text(struct mdoc *mdoc, int line, int pos, const
Line 694  check_text(struct mdoc *mdoc, int line, int pos, const
                         p += (int)c - 1;                          p += (int)c - 1;
                         continue;                          continue;
                 }                  }
                 return(mdoc_perr(mdoc, line, pos,                  if ( ! (MDOC_IGN_ESCAPE & mdoc->pflags))
                                 "invalid escape sequence"));                          return(mdoc_perr(mdoc, line, pos,
                                           "invalid escape sequence"));
                   if ( ! mdoc_pwarn(mdoc, line, pos, WARN_SYNTAX,
                                           "invalid escape sequence"))
                           return(0);
         }          }
   
         return(1);          return(1);
Line 891  static int
Line 905  static int
 pre_an(PRE_ARGS)  pre_an(PRE_ARGS)
 {  {
   
         if (n->args && 1 >= n->args->argc)          if (NULL == n->args || 1 == n->args->argc)
                 return(1);                  return(1);
         return(mdoc_nerr(mdoc, n, "only one argument allowed"));          return(mdoc_nerr(mdoc, n, "only one argument allowed"));
 }  }

Legend:
Removed from v.1.71  
changed lines
  Added in v.1.78

CVSweb