diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-06-12 09:18:00 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-06-12 09:18:00 +0000 |
commit | 81a387c030a677e4c49c020a270294d21c564320 (patch) | |
tree | 5edd66188f498f18a740574c6d45f2d103ab9af4 /mdoc_validate.c | |
parent | c3b3cef562cad122a19ef12743ef5aa73df002b5 (diff) | |
download | mandoc-81a387c030a677e4c49c020a270294d21c564320.tar.gz |
`Lk' is correctly handled as CALLABLE (note groff munges nested output).
`Mt' is now CALLABLE.
Fixed missing validate/action of zero-element, non-called inline elements.
Fixed missing validate/action of nested inline element re-calls.
Fixed bogus column argv index in validator.
Diffstat (limited to 'mdoc_validate.c')
-rw-r--r-- | mdoc_validate.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/mdoc_validate.c b/mdoc_validate.c index 63656743..ebd023d8 100644 --- a/mdoc_validate.c +++ b/mdoc_validate.c @@ -300,7 +300,7 @@ const struct valids mdoc_valids[MDOC_MAX] = { { pres_lb, posts_lb }, /* Lb */ { NULL, NULL }, /* Ap */ { NULL, posts_pp }, /* Lp */ - { NULL, posts_text }, /* Lk */ + { NULL, NULL }, /* Lk */ { NULL, posts_text }, /* Mt */ { NULL, posts_wline }, /* Brq */ { NULL, NULL }, /* Bro */ @@ -789,7 +789,7 @@ pre_display(PRE_ARGS) static int pre_bl(PRE_ARGS) { - int pos, type, width, offset; + int pos, col, type, width, offset; if (MDOC_BLOCK != n->type) return(1); @@ -798,7 +798,7 @@ pre_bl(PRE_ARGS) /* Make sure that only one type of list is specified. */ - type = offset = width = -1; + type = offset = width = col = -1; /* LINTED */ for (pos = 0; pos < (int)n->args->argc; pos++) @@ -827,6 +827,7 @@ pre_bl(PRE_ARGS) if (-1 != type) return(nerr(mdoc, n, EMULTILIST)); type = n->args->argv[pos].arg; + col = pos; break; case (MDOC_Width): if (-1 != width) @@ -876,7 +877,8 @@ pre_bl(PRE_ARGS) switch (type) { case (MDOC_Column): - if (0 == n->args->argv[pos].sz) + assert(col >= 0); + if (0 == n->args->argv[col].sz) break; if ( ! nwarn(mdoc, n, WDEPCOL)) return(0); |