=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/mdoc_validate.c,v retrieving revision 1.58 retrieving revision 1.59 diff -c -r1.58 -r1.59 *** src/usr.bin/mandoc/mdoc_validate.c 2010/05/26 02:39:58 1.58 --- src/usr.bin/mandoc/mdoc_validate.c 2010/06/06 18:08:41 1.59 *************** *** 1,4 **** ! /* $Id: mdoc_validate.c,v 1.58 2010/05/26 02:39:58 schwarze Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * --- 1,4 ---- ! /* $Id: mdoc_validate.c,v 1.59 2010/06/06 18:08:41 schwarze Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * *************** *** 88,93 **** --- 88,94 ---- static int post_sh_body(POST_ARGS); static int post_sh_head(POST_ARGS); static int post_st(POST_ARGS); + static int post_eoln(POST_ARGS); static int post_vt(POST_ARGS); static int pre_an(PRE_ARGS); static int pre_bd(PRE_ARGS); *************** *** 107,112 **** --- 108,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_bool[] = { eerr_eq1, ebool, NULL }; + static v_post posts_eoln[] = { post_eoln, NULL }; static v_post posts_fo[] = { hwarn_eq1, bwarn_ge1, NULL }; static v_post posts_it[] = { post_it, NULL }; static v_post posts_lb[] = { eerr_eq1, post_lb, NULL }; *************** *** 123,129 **** static v_post posts_vt[] = { post_vt, NULL }; static v_post posts_wline[] = { bwarn_ge1, herr_eq0, NULL }; static v_post posts_wtext[] = { ewarn_ge1, NULL }; - static v_post posts_xr[] = { ewarn_ge1, NULL }; static v_pre pres_an[] = { pre_an, NULL }; static v_pre pres_bd[] = { pre_display, pre_bd, NULL }; static v_pre pres_bl[] = { pre_bl, NULL }; --- 125,130 ---- *************** *** 134,140 **** static v_pre pres_ex[] = { NULL, NULL }; static v_pre pres_fd[] = { NULL, NULL }; static v_pre pres_it[] = { pre_it, NULL }; - static v_pre pres_lb[] = { NULL, NULL }; static v_pre pres_os[] = { pre_os, NULL }; static v_pre pres_rv[] = { pre_rv, NULL }; static v_pre pres_sh[] = { pre_sh, NULL }; --- 135,140 ---- *************** *** 181,187 **** { NULL, posts_st }, /* St */ { NULL, NULL }, /* Va */ { NULL, posts_vt }, /* Vt */ ! { NULL, posts_xr }, /* Xr */ { NULL, posts_text }, /* %A */ { NULL, posts_text }, /* %B */ /* FIXME: can be used outside Rs/Re. */ { NULL, posts_text }, /* %D */ /* FIXME: check date with mandoc_a2time(). */ --- 181,187 ---- { NULL, posts_st }, /* St */ { NULL, NULL }, /* Va */ { NULL, posts_vt }, /* Vt */ ! { NULL, posts_wtext }, /* Xr */ { NULL, posts_text }, /* %A */ { NULL, posts_text }, /* %B */ /* FIXME: can be used outside Rs/Re. */ { NULL, posts_text }, /* %D */ /* FIXME: check date with mandoc_a2time(). */ *************** *** 243,253 **** { NULL, NULL }, /* Oc */ { NULL, posts_wline }, /* Bk */ { NULL, NULL }, /* Ek */ ! { NULL, posts_notext }, /* Bt */ { NULL, NULL }, /* Hf */ { NULL, NULL }, /* Fr */ ! { NULL, posts_notext }, /* Ud */ ! { pres_lb, posts_lb }, /* Lb */ { NULL, posts_notext }, /* Lp */ { NULL, posts_text }, /* Lk */ { NULL, posts_text }, /* Mt */ --- 243,253 ---- { NULL, NULL }, /* Oc */ { NULL, posts_wline }, /* Bk */ { NULL, NULL }, /* Ek */ ! { NULL, posts_eoln }, /* Bt */ { NULL, NULL }, /* Hf */ { NULL, NULL }, /* Fr */ ! { NULL, posts_eoln }, /* Ud */ ! { NULL, posts_lb }, /* Lb */ { NULL, posts_notext }, /* Lp */ { NULL, posts_text }, /* Lk */ { NULL, posts_text }, /* Mt */ *************** *** 388,394 **** CHECK_CHILD_DEFN(warn, lt, <) /* warn_child_lt() */ CHECK_BODY_DEFN(ge1, warn, warn_child_gt, 0) /* bwarn_ge1() */ CHECK_BODY_DEFN(ge1, err, err_child_gt, 0) /* berr_ge1() */ ! CHECK_ELEM_DEFN(ge1, warn, warn_child_gt, 0) /* ewarn_gt1() */ CHECK_ELEM_DEFN(eq1, err, err_child_eq, 1) /* eerr_eq1() */ CHECK_ELEM_DEFN(le1, err, err_child_lt, 2) /* eerr_le1() */ CHECK_ELEM_DEFN(eq0, err, err_child_eq, 0) /* eerr_eq0() */ --- 388,394 ---- CHECK_CHILD_DEFN(warn, lt, <) /* warn_child_lt() */ CHECK_BODY_DEFN(ge1, warn, warn_child_gt, 0) /* bwarn_ge1() */ CHECK_BODY_DEFN(ge1, err, err_child_gt, 0) /* berr_ge1() */ ! CHECK_ELEM_DEFN(ge1, warn, warn_child_gt, 0) /* ewarn_ge1() */ CHECK_ELEM_DEFN(eq1, err, err_child_eq, 1) /* eerr_eq1() */ CHECK_ELEM_DEFN(le1, err, err_child_lt, 2) /* eerr_le1() */ CHECK_ELEM_DEFN(eq0, err, err_child_eq, 0) /* eerr_eq0() */ *************** *** 822,827 **** --- 822,837 ---- if (mdoc_a2lib(mdoc->last->child->string)) return(1); return(mdoc_nmsg(mdoc, mdoc->last, MANDOCERR_BADLIB)); + } + + + static int + post_eoln(POST_ARGS) + { + + if (NULL == mdoc->last->child) + return(1); + return(mdoc_nmsg(mdoc, mdoc->last, MANDOCERR_ARGSLOST)); }