aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mandocdb.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2016-01-08 17:48:09 +0000
committerIngo Schwarze <schwarze@openbsd.org>2016-01-08 17:48:09 +0000
commit924c4755ac64b780903344b188653f513990a771 (patch)
tree8790707d642423006b0f909baf400a6dc333adcb /mandocdb.c
parentc2d0e548871bfed103ed040312a4333026ee10f1 (diff)
downloadmandoc-924c4755ac64b780903344b188653f513990a771.tar.gz
mandoc-924c4755ac64b780903344b188653f513990a771.tar.zst
mandoc-924c4755ac64b780903344b188653f513990a771.zip
Delete the redundant "nchild" member of struct roff_node, replacing
most uses by one, a few by two pointer checks, and only one by a tiny loop - not only making data smaller, but code shorter as well. This gets rid of an implicit invariant that confused both static analysis tools and human auditors. No functional change.
Diffstat (limited to 'mandocdb.c')
-rw-r--r--mandocdb.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/mandocdb.c b/mandocdb.c
index 93cca9ec..08f89c17 100644
--- a/mandocdb.c
+++ b/mandocdb.c
@@ -1,4 +1,4 @@
-/* $Id: mandocdb.c,v 1.214 2016/01/08 15:02:54 schwarze Exp $ */
+/* $Id: mandocdb.c,v 1.215 2016/01/08 17:48:09 schwarze Exp $ */
/*
* Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011-2016 Ingo Schwarze <schwarze@openbsd.org>
@@ -1446,7 +1446,7 @@ parse_man(struct mpage *mpage, const struct roff_meta *meta,
char byte;
size_t sz;
- if (NULL == n)
+ if (n == NULL)
return;
/*
@@ -1458,13 +1458,12 @@ parse_man(struct mpage *mpage, const struct roff_meta *meta,
if (n->type == ROFFT_BODY && n->tok == MAN_SH) {
body = n;
- assert(body->parent);
- if (NULL != (head = body->parent->head) &&
- 1 == head->nchild &&
- NULL != (head = (head->child)) &&
+ if ((head = body->parent->head) != NULL &&
+ (head = head->child) != NULL &&
+ head->next == NULL &&
head->type == ROFFT_TEXT &&
- 0 == strcmp(head->string, "NAME") &&
- NULL != body->child) {
+ strcmp(head->string, "NAME") == 0 &&
+ body->child != NULL) {
/*
* Suck the entire NAME section into memory.
@@ -1697,7 +1696,9 @@ parse_mdoc_Va(struct mpage *mpage, const struct roff_meta *meta,
if (n->type != ROFFT_ELEM && n->type != ROFFT_BODY)
return 0;
- if (n->nchild == 1 && n->child->type == ROFFT_TEXT)
+ if (n->child != NULL &&
+ n->child->next == NULL &&
+ n->child->type == ROFFT_TEXT)
return 1;
cp = NULL;