summaryrefslogtreecommitdiffstatshomepage
path: root/validate.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-01-02 09:29:06 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-01-02 09:29:06 +0000
commitd8072843f9a4a4d270b86fee59886720c7f48a68 (patch)
treeb41d74e360eeff2a553f98de86793c1dde094ad7 /validate.c
parent9d89dc957fdca4edae24c0b070474ec19997ffbb (diff)
downloadmandoc-d8072843f9a4a4d270b86fee59886720c7f48a68.tar.gz
mandoc-d8072843f9a4a4d270b86fee59886720c7f48a68.tar.zst
mandoc-d8072843f9a4a4d270b86fee59886720c7f48a68.zip
*** empty log message ***
Diffstat (limited to 'validate.c')
-rw-r--r--validate.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/validate.c b/validate.c
index 6b47e895..07edbd89 100644
--- a/validate.c
+++ b/validate.c
@@ -1,4 +1,4 @@
-/* $Id: validate.c,v 1.11 2009/01/01 20:40:16 kristaps Exp $ */
+/* $Id: validate.c,v 1.12 2009/01/02 09:29:06 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -29,6 +29,7 @@ typedef int (*v_args)(struct mdoc *, int, int, int,
typedef int (*v_post)(struct mdoc *, int, int);
static int need_head_child(struct mdoc *, int, int);
+static int no_head_child(struct mdoc *, int, int);
static int assert_eq0(struct mdoc *, int, int, int);
static int assert_le1(struct mdoc *, int, int, int);
@@ -59,6 +60,11 @@ struct valids {
};
+/*
+ * FIXME: have arrays of function pointers in case we want multiple
+ * check callbacks per macro.
+ */
+
const struct valids mdoc_valids[MDOC_MAX] = {
{ NULL, NULL, NULL }, /* \" */
{ NULL, NULL, NULL }, /* Dd */ /* TODO */
@@ -70,9 +76,9 @@ const struct valids mdoc_valids[MDOC_MAX] = {
{ NULL, args_blocknest, need_head_child }, /* D1 */
{ NULL, args_blocknest, need_head_child }, /* Dl */
{ NULL, args_blocknest, NULL }, /* Bd */
- { NULL, NULL, NULL }, /* Ed */
+ { NULL, NULL, no_head_child }, /* Ed */
{ NULL, NULL, NULL }, /* Bl */
- { NULL, NULL, NULL }, /* El */
+ { NULL, NULL, no_head_child }, /* El */
{ NULL, NULL, NULL }, /* It */
{ need_ge1, NULL, NULL }, /* Ad */
{ NULL, NULL, NULL }, /* An */
@@ -242,6 +248,15 @@ need_ge1(struct mdoc *mdoc, int tok, int pos, int sz)
static int
+no_head_child(struct mdoc *mdoc, int tok, int pos)
+{
+
+ /* TODO */
+ return(1);
+}
+
+
+static int
need_head_child(struct mdoc *mdoc, int tok, int pos)
{
struct mdoc_node *n;