summaryrefslogtreecommitdiffstats
path: root/usr.bin/mandoc/mdoc_validate.c
diff options
context:
space:
mode:
authorschwarze <schwarze@openbsd.org>2015-04-02 21:03:18 +0000
committerschwarze <schwarze@openbsd.org>2015-04-02 21:03:18 +0000
commitd1982c71f56a0339cf367753d1e1b041d168b36d (patch)
treec83c97602d07cad8b3112e543ed123b9618c6b04 /usr.bin/mandoc/mdoc_validate.c
parentFixed whitespace issues. (diff)
downloadwireguard-openbsd-d1982c71f56a0339cf367753d1e1b041d168b36d.tar.xz
wireguard-openbsd-d1982c71f56a0339cf367753d1e1b041d168b36d.zip
First step towards parser unification:
Replace enum mdoc_type and enum man_type by a unified enum roff_type. Almost mechanical, no functional change. Written on the ICE train from Frankfurt to Bruxelles on the way to p2k15.
Diffstat (limited to 'usr.bin/mandoc/mdoc_validate.c')
-rw-r--r--usr.bin/mandoc/mdoc_validate.c99
1 files changed, 50 insertions, 49 deletions
diff --git a/usr.bin/mandoc/mdoc_validate.c b/usr.bin/mandoc/mdoc_validate.c
index e7f1a7b87c8..4408402dcb1 100644
--- a/usr.bin/mandoc/mdoc_validate.c
+++ b/usr.bin/mandoc/mdoc_validate.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mdoc_validate.c,v 1.199 2015/02/23 13:54:39 schwarze Exp $ */
+/* $OpenBSD: mdoc_validate.c,v 1.200 2015/04/02 21:03:18 schwarze Exp $ */
/*
* Copyright (c) 2008-2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2015 Ingo Schwarze <schwarze@openbsd.org>
@@ -8,9 +8,9 @@
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
@@ -29,11 +29,12 @@
#include <string.h>
#include <time.h>
-#include "mdoc.h"
-#include "mandoc.h"
#include "mandoc_aux.h"
-#include "libmdoc.h"
+#include "mandoc.h"
+#include "roff.h"
+#include "mdoc.h"
#include "libmandoc.h"
+#include "libmdoc.h"
/* FIXME: .Bl -diag can't have non-text children in HEAD. */
@@ -295,15 +296,15 @@ mdoc_valid_pre(struct mdoc *mdoc, struct mdoc_node *n)
v_pre p;
switch (n->type) {
- case MDOC_TEXT:
+ case ROFFT_TEXT:
if (n->sec != SEC_SYNOPSIS || n->parent->tok != MDOC_Fd)
check_text(mdoc, n->line, n->pos, n->string);
/* FALLTHROUGH */
- case MDOC_TBL:
+ case ROFFT_TBL:
/* FALLTHROUGH */
- case MDOC_EQN:
+ case ROFFT_EQN:
/* FALLTHROUGH */
- case MDOC_ROOT:
+ case ROFFT_ROOT:
return;
default:
break;
@@ -327,13 +328,13 @@ mdoc_valid_post(struct mdoc *mdoc)
n->flags |= MDOC_VALID | MDOC_ENDED;
switch (n->type) {
- case MDOC_TEXT:
+ case ROFFT_TEXT:
/* FALLTHROUGH */
- case MDOC_EQN:
+ case ROFFT_EQN:
/* FALLTHROUGH */
- case MDOC_TBL:
+ case ROFFT_TBL:
break;
- case MDOC_ROOT:
+ case ROFFT_ROOT:
post_root(mdoc);
break;
default:
@@ -398,11 +399,11 @@ pre_display(PRE_ARGS)
{
struct mdoc_node *node;
- if (MDOC_BLOCK != n->type)
+ if (n->type != ROFFT_BLOCK)
return;
for (node = mdoc->last->parent; node; node = node->parent)
- if (MDOC_BLOCK == node->type)
+ if (node->type == ROFFT_BLOCK)
if (MDOC_Bd == node->tok)
break;
@@ -420,7 +421,7 @@ pre_bl(PRE_ARGS)
enum mdocargt mdoclt;
enum mdoc_list lt;
- if (n->type != MDOC_BLOCK)
+ if (n->type != ROFFT_BLOCK)
return;
/*
@@ -603,7 +604,7 @@ pre_bd(PRE_ARGS)
pre_literal(mdoc, n);
- if (n->type != MDOC_BLOCK)
+ if (n->type != ROFFT_BLOCK)
return;
for (i = 0; n->args && i < (int)n->args->argc; i++) {
@@ -716,7 +717,7 @@ static void
pre_obsolete(PRE_ARGS)
{
- if (MDOC_ELEM == n->type || MDOC_BLOCK == n->type)
+ if (n->type == ROFFT_ELEM || n->type == ROFFT_BLOCK)
mandoc_msg(MANDOCERR_MACRO_OBS, mdoc->parse,
n->line, n->pos, mdoc_macronames[n->tok]);
}
@@ -775,10 +776,10 @@ post_bf(POST_ARGS)
*/
np = mdoc->last;
- if (MDOC_HEAD != np->type)
+ if (np->type != ROFFT_HEAD)
return;
- assert(MDOC_BLOCK == np->parent->type);
+ assert(np->parent->type == ROFFT_BLOCK);
assert(MDOC_Bf == np->parent->tok);
/* Check the number of arguments. */
@@ -832,7 +833,7 @@ post_lb(POST_ARGS)
char *libname;
n = mdoc->last->child;
- assert(MDOC_TEXT == n->type);
+ assert(n->type == ROFFT_TEXT);
mandoc_asprintf(&libname, "library \\(Lq%s\\(Rq", n->string);
free(n->string);
n->string = libname;
@@ -881,7 +882,7 @@ post_fo(POST_ARGS)
n = mdoc->last;
- if (n->type != MDOC_HEAD)
+ if (n->type != ROFFT_HEAD)
return;
if (n->child == NULL) {
@@ -934,11 +935,11 @@ post_vt(POST_ARGS)
* specifically the BODY, should only have TEXT children.
*/
- if (MDOC_BODY != mdoc->last->type)
+ if (mdoc->last->type != ROFFT_BODY)
return;
for (n = mdoc->last->child; n; n = n->next)
- if (MDOC_TEXT != n->type)
+ if (n->type != ROFFT_TEXT)
mandoc_msg(MANDOCERR_VT_CHILD, mdoc->parse,
n->line, n->pos, mdoc_macronames[n->tok]);
}
@@ -972,7 +973,7 @@ post_nd(POST_ARGS)
n = mdoc->last;
- if (n->type != MDOC_BODY)
+ if (n->type != ROFFT_BODY)
return;
if (n->child == NULL)
@@ -989,7 +990,7 @@ post_d1(POST_ARGS)
n = mdoc->last;
- if (n->type != MDOC_BODY)
+ if (n->type != ROFFT_BODY)
return;
if (n->child == NULL)
@@ -1006,7 +1007,7 @@ post_literal(POST_ARGS)
n = mdoc->last;
- if (n->type != MDOC_BODY)
+ if (n->type != ROFFT_BODY)
return;
if (n->child == NULL)
@@ -1077,7 +1078,7 @@ post_at(POST_ARGS)
*/
n = n->child;
- assert(MDOC_TEXT == n->type);
+ assert(n->type == ROFFT_TEXT);
if (NULL == (std_att = mdoc_a2att(n->string))) {
mandoc_vmsg(MANDOCERR_AT_BAD, mdoc->parse,
n->line, n->pos, "At %s", n->string);
@@ -1109,7 +1110,7 @@ static void
post_en(POST_ARGS)
{
- if (MDOC_BLOCK == mdoc->last->type)
+ if (mdoc->last->type == ROFFT_BLOCK)
mdoc->last->norm->Es = mdoc->last_es;
}
@@ -1128,7 +1129,7 @@ post_it(POST_ARGS)
struct mdoc_node *nbl, *nit, *nch;
nit = mdoc->last;
- if (nit->type != MDOC_BLOCK)
+ if (nit->type != ROFFT_BLOCK)
return;
nbl = nit->parent->parent;
@@ -1175,7 +1176,7 @@ post_it(POST_ARGS)
assert(nit->head->child == NULL);
for (i = 0, nch = nit->child; nch; nch = nch->next)
- if (nch->type == MDOC_BODY)
+ if (nch->type == ROFFT_BODY)
i++;
if (i < cols || i > cols + 1)
@@ -1289,13 +1290,13 @@ post_bl_block_tag(POST_ARGS)
if (MDOC_It != nn->tok)
continue;
- assert(MDOC_BLOCK == nn->type);
+ assert(nn->type == ROFFT_BLOCK);
nn = nn->head->child;
if (nn == NULL)
break;
- if (MDOC_TEXT == nn->type) {
+ if (nn->type == ROFFT_TEXT) {
sz = strlen(nn->string) + 1;
break;
}
@@ -1403,13 +1404,13 @@ post_bl(POST_ARGS)
nbody = mdoc->last;
switch (nbody->type) {
- case MDOC_BLOCK:
+ case ROFFT_BLOCK:
post_bl_block(mdoc);
return;
- case MDOC_HEAD:
+ case ROFFT_HEAD:
post_bl_head(mdoc);
return;
- case MDOC_BODY:
+ case ROFFT_BODY:
break;
default:
return;
@@ -1484,7 +1485,7 @@ post_bk(POST_ARGS)
n = mdoc->last;
- if (n->type == MDOC_BLOCK && n->body->child == NULL) {
+ if (n->type == ROFFT_BLOCK && n->body->child == NULL) {
mandoc_msg(MANDOCERR_BLK_EMPTY,
mdoc->parse, n->line, n->pos, "Bk");
mdoc_node_delete(mdoc, n);
@@ -1503,7 +1504,7 @@ post_sm(struct mdoc *mdoc)
return;
}
- assert(nch->type == MDOC_TEXT);
+ assert(nch->type == ROFFT_TEXT);
if ( ! strcmp(nch->string, "on")) {
mdoc->flags &= ~MDOC_SMOFF;
@@ -1570,7 +1571,7 @@ post_st(POST_ARGS)
n = mdoc->last;
nch = n->child;
- assert(MDOC_TEXT == nch->type);
+ assert(nch->type == ROFFT_TEXT);
if (NULL == (p = mdoc_a2st(nch->string))) {
mandoc_vmsg(MANDOCERR_ST_BAD, mdoc->parse,
@@ -1590,7 +1591,7 @@ post_rs(POST_ARGS)
np = mdoc->last;
- if (np->type != MDOC_BODY)
+ if (np->type != ROFFT_BODY)
return;
if (np->child == NULL) {
@@ -1683,7 +1684,7 @@ post_hyph(POST_ARGS)
char *cp;
for (nch = mdoc->last->child; nch != NULL; nch = nch->next) {
- if (nch->type != MDOC_TEXT)
+ if (nch->type != ROFFT_TEXT)
continue;
cp = nch->string;
if (*cp == '\0')
@@ -1712,10 +1713,10 @@ post_sh(POST_ARGS)
post_ignpar(mdoc);
switch (mdoc->last->type) {
- case MDOC_HEAD:
+ case ROFFT_HEAD:
post_sh_head(mdoc);
break;
- case MDOC_BODY:
+ case ROFFT_BODY:
switch (mdoc->lastsec) {
case SEC_NAME:
post_sh_name(mdoc);
@@ -1821,7 +1822,7 @@ post_sh_see_also(POST_ARGS)
lastpunct = "none";
continue;
}
- if (n->type != MDOC_TEXT)
+ if (n->type != ROFFT_TEXT)
break;
for (name = n->string; *name != '\0'; name++)
if (isalpha((const unsigned char)*name))
@@ -1980,10 +1981,10 @@ post_ignpar(POST_ARGS)
struct mdoc_node *np;
switch (mdoc->last->type) {
- case MDOC_HEAD:
+ case ROFFT_HEAD:
post_hyph(mdoc);
return;
- case MDOC_BODY:
+ case ROFFT_BODY:
break;
default:
return;
@@ -2014,7 +2015,7 @@ pre_par(PRE_ARGS)
if (NULL == mdoc->last)
return;
- if (MDOC_ELEM != n->type && MDOC_BLOCK != n->type)
+ if (n->type != ROFFT_ELEM && n->type != ROFFT_BLOCK)
return;
/*
@@ -2079,7 +2080,7 @@ pre_literal(PRE_ARGS)
pre_display(mdoc, n);
- if (MDOC_BODY != n->type)
+ if (n->type != ROFFT_BODY)
return;
/*