-/* $Id: validate.c,v 1.41 2009/01/19 23:11:12 kristaps Exp $ */
+/* $Id: validate.c,v 1.43 2009/01/20 12:51:28 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
/* FIXME: some sections should only occur in specific msecs. */
/* FIXME: ignoring Pp. */
/* FIXME: math symbols. */
-/* FIXME: make sure prologue is complete. */
/* FIXME: valid character-escape checks. */
/* FIXME: make sure required sections are included (NAME, ...). */
static int herr_ge1(struct mdoc *);
static int herr_le1(struct mdoc *);
-static int hwarn_ge1(struct mdoc *);
static int herr_eq0(struct mdoc *);
static int eerr_eq0(struct mdoc *);
static int eerr_le1(struct mdoc *);
static int ewarn_eq0(struct mdoc *);
static int ewarn_eq1(struct mdoc *);
static int bwarn_ge1(struct mdoc *);
-static int berr_eq0(struct mdoc *);
static int ewarn_ge1(struct mdoc *);
static int ebool(struct mdoc *);
static int post_sh(struct mdoc *);
static v_post posts_text[] = { eerr_ge1, NULL };
static v_post posts_wtext[] = { ewarn_ge1, NULL };
static v_post posts_notext[] = { eerr_eq0, NULL };
-static v_post posts_wline[] = { hwarn_ge1, berr_eq0, NULL };
+static v_post posts_wline[] = { bwarn_ge1, herr_eq0, NULL };
static v_post posts_sh[] = { herr_ge1, bwarn_ge1, post_sh, NULL };
static v_post posts_bl[] = { herr_eq0, bwarn_ge1, post_bl, NULL };
static v_post posts_it[] = { post_it, NULL };
static v_post posts_in[] = { ewarn_eq1, NULL };
static v_post posts_ss[] = { herr_ge1, NULL };
static v_post posts_pp[] = { ewarn_eq0, NULL };
-static v_post posts_d1[] = { herr_ge1, NULL };
static v_post posts_ex[] = { eerr_le1, post_ex, NULL };
static v_post posts_an[] = { post_an, NULL };
static v_post posts_at[] = { post_at, NULL };
{ pres_sh, posts_sh }, /* Sh */
{ pres_ss, posts_ss }, /* Ss */
{ NULL, posts_pp }, /* Pp */
- { pres_d1, posts_d1 }, /* D1 */
- { pres_d1, posts_d1 }, /* Dl */
+ { pres_d1, posts_wline }, /* D1 */
+ { pres_d1, posts_wline }, /* Dl */
{ pres_bd, posts_bd }, /* Bd */
{ NULL, NULL }, /* Ed */
{ pres_bl, posts_bl }, /* Bl */
{ NULL, posts_wline }, /* Aq */
{ NULL, posts_at }, /* At */
{ NULL, NULL }, /* Bc */
- { NULL, posts_bf }, /* Bf */ /* FIXME */
+ { NULL, posts_bf }, /* Bf */
{ NULL, NULL }, /* Bo */
{ NULL, posts_wline }, /* Bq */
{ NULL, NULL }, /* Bsx */
}
-static int
-berr_eq0(struct mdoc *mdoc)
-{
-
- if (MDOC_BODY != mdoc->last->type)
- return(1);
- return(post_check_children_eq(mdoc, "body children", 0));
-}
-
-
static int
bwarn_ge1(struct mdoc *mdoc)
{
}
-static int
-hwarn_ge1(struct mdoc *mdoc)
-{
-
- if (MDOC_HEAD != mdoc->last->type)
- return(1);
- return(post_check_children_wgt(mdoc, "parameters", 0));
-}
-
-
static int
herr_le1(struct mdoc *mdoc)
{