aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mdoc.c
diff options
context:
space:
mode:
Diffstat (limited to 'mdoc.c')
-rw-r--r--mdoc.c37
1 files changed, 7 insertions, 30 deletions
diff --git a/mdoc.c b/mdoc.c
index d55b1120..f8b09f7a 100644
--- a/mdoc.c
+++ b/mdoc.c
@@ -1,4 +1,4 @@
-/* $Id: mdoc.c,v 1.162 2010/08/08 14:51:32 schwarze Exp $ */
+/* $Id: mdoc.c,v 1.163 2010/08/20 01:02:07 schwarze Exp $ */
/*
* Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org>
@@ -98,8 +98,6 @@ static int node_append(struct mdoc *,
struct mdoc_node *);
static int mdoc_ptext(struct mdoc *, int, char *, int);
static int mdoc_pmacro(struct mdoc *, int, char *, int);
-static int macrowarn(struct mdoc *, int,
- const char *, int);
const struct mdoc_node *
@@ -191,8 +189,7 @@ mdoc_free(struct mdoc *mdoc)
* Allocate volatile and non-volatile parse resources.
*/
struct mdoc *
-mdoc_alloc(struct regset *regs, void *data,
- int pflags, mandocmsg msg)
+mdoc_alloc(struct regset *regs, void *data, mandocmsg msg)
{
struct mdoc *p;
@@ -200,7 +197,6 @@ mdoc_alloc(struct regset *regs, void *data,
p->msg = msg;
p->data = data;
- p->pflags = pflags;
p->regs = regs;
mdoc_hash_init();
@@ -727,21 +723,6 @@ mdoc_ptext(struct mdoc *m, int line, char *buf, int offs)
}
-static int
-macrowarn(struct mdoc *m, int ln, const char *buf, int offs)
-{
- int rc;
-
- rc = mdoc_vmsg(m, MANDOCERR_MACRO, ln, offs,
- "unknown macro: %s%s",
- buf, strlen(buf) > 3 ? "..." : "");
-
- /* FIXME: logic should be in driver. */
- /* FIXME: broken, will error out and not omit a message. */
- return(MDOC_IGN_MACRO & m->pflags ? rc : 0);
-}
-
-
/*
* Parse a macro line, that is, a line beginning with the control
* character.
@@ -785,15 +766,11 @@ mdoc_pmacro(struct mdoc *m, int ln, char *buf, int offs)
mac[j++] = buf[i++];
mac[j] = '\0';
- if (j == 4 || j < 2) {
- if ( ! macrowarn(m, ln, mac, sv))
- goto err;
- return(1);
- }
-
- if (MDOC_MAX == (tok = mdoc_hash_find(mac))) {
- if ( ! macrowarn(m, ln, mac, sv))
- goto err;
+ tok = (j > 1 || j < 4) ? mdoc_hash_find(mac) : MDOC_MAX;
+ if (MDOC_MAX == tok) {
+ mdoc_vmsg(m, MANDOCERR_MACRO, ln, sv,
+ "unknown macro: %s%s",
+ buf, strlen(buf) > 3 ? "..." : "");
return(1);
}