summaryrefslogtreecommitdiffstats
path: root/tbl.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-07-08 17:52:49 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-07-08 17:52:49 +0000
commit093b704b943e58cc16bd6065cc571372f7059b56 (patch)
treeb258d28e058a17b345ca4067b1922e772bf9b217 /tbl.c
parenta7d3439bd1214fd20650366b5177cb87d787982d (diff)
downloadmandoc-093b704b943e58cc16bd6065cc571372f7059b56.tar.gz
Simplify by creating struct roff_node syntax tree nodes for tbl(7)
right from roff_parseln() rather than delegating to read.c, similar to what i just did for eqn(7). The interface function roff_span() becomes obsolete and is deleted, the former interface function roff_addtbl() becomes static, the interface functions tbl_read() and tbl_cdata() become void, and minus twelve linus of code. No functional change.
Diffstat (limited to 'tbl.c')
-rw-r--r--tbl.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/tbl.c b/tbl.c
index 83f77348..107c4c49 100644
--- a/tbl.c
+++ b/tbl.c
@@ -31,7 +31,7 @@
#include "libroff.h"
-enum rofferr
+void
tbl_read(struct tbl_node *tbl, int ln, const char *p, int pos)
{
const char *cp;
@@ -66,7 +66,7 @@ tbl_read(struct tbl_node *tbl, int ln, const char *p, int pos)
if (*cp == ';') {
tbl_option(tbl, ln, p, &pos);
if (p[pos] == '\0')
- return ROFF_IGN;
+ return;
}
}
@@ -75,15 +75,14 @@ tbl_read(struct tbl_node *tbl, int ln, const char *p, int pos)
switch (tbl->part) {
case TBL_PART_LAYOUT:
tbl_layout(tbl, ln, p, pos);
- return ROFF_IGN;
+ break;
case TBL_PART_CDATA:
- return tbl_cdata(tbl, ln, p, pos) ? ROFF_TBL : ROFF_IGN;
+ tbl_cdata(tbl, ln, p, pos);
+ break;
default:
+ tbl_data(tbl, ln, p, pos);
break;
}
-
- tbl_data(tbl, ln, p, pos);
- return ROFF_TBL;
}
struct tbl_node *
@@ -160,14 +159,10 @@ tbl_span(struct tbl_node *tbl)
}
int
-tbl_end(struct tbl_node **tblp)
+tbl_end(struct tbl_node *tbl)
{
- struct tbl_node *tbl;
struct tbl_span *sp;
- tbl = *tblp;
- *tblp = NULL;
-
if (tbl->part == TBL_PART_CDATA)
mandoc_msg(MANDOCERR_TBLDATA_BLK, tbl->parse,
tbl->line, tbl->pos, "TE");