aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2010-04-06 11:52:25 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2010-04-06 11:52:25 +0000
commit0bbea1b848cacc7d35f6c63a0b8e16e37d1ae43f (patch)
tree40e8d2c1d3f657f023e56344422b68b5ed69db1f
parent24f56006414f877b62f658da3685ac2e2bc56707 (diff)
downloadmandoc-0bbea1b848cacc7d35f6c63a0b8e16e37d1ae43f.tar.gz
mandoc-0bbea1b848cacc7d35f6c63a0b8e16e37d1ae43f.tar.zst
mandoc-0bbea1b848cacc7d35f6c63a0b8e16e37d1ae43f.zip
Cleaned up post_bl_head() and fixed erroneous reporting of child nodes.
-rw-r--r--mdoc_validate.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/mdoc_validate.c b/mdoc_validate.c
index a60a5e99..cd9a2429 100644
--- a/mdoc_validate.c
+++ b/mdoc_validate.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc_validate.c,v 1.64 2010/04/06 11:28:17 kristaps Exp $ */
+/* $Id: mdoc_validate.c,v 1.65 2010/04/06 11:52:25 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -1095,22 +1095,23 @@ post_bl_head(POST_ARGS)
{
int i;
const struct mdoc_node *n;
+ const struct mdoc_argv *a;
n = mdoc->last->parent;
assert(n->args);
- for (i = 0; i < (int)n->args->argc; i++)
- if (n->args->argv[i].arg == MDOC_Column)
- break;
-
- if (i == (int)n->args->argc && n->nchild)
- return(warn_count(mdoc, "==", 0,
- "line arguments", n->nchild));
-
- if (n->args->argv[i].sz && mdoc->last->child)
- return(mdoc_nerr(mdoc, n, ECOLMIS));
+ for (i = 0; i < (int)n->args->argc; i++) {
+ a = &n->args->argv[i];
+ if (a->arg == MDOC_Column) {
+ if (a->sz && mdoc->last->nchild)
+ return(mdoc_nerr(mdoc, n, ECOLMIS));
+ return(1);
+ }
+ }
- return(1);
+ if (0 == (i = mdoc->last->nchild))
+ return(1);
+ return(warn_count(mdoc, "==", 0, "line arguments", i));
}