aboutsummaryrefslogtreecommitdiffstatshomepage
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
commit5b9fac5e713255fd71fe6d4dfb25ad29e2db9413 (patch)
tree8ec52bbf39f33db83019b6b793c1a6e9fa7fdfbb /tbl.c
parent6ebbfa9eba538830064426c0d6621de116539b03 (diff)
downloadmandoc-5b9fac5e713255fd71fe6d4dfb25ad29e2db9413.tar.gz
mandoc-5b9fac5e713255fd71fe6d4dfb25ad29e2db9413.tar.zst
mandoc-5b9fac5e713255fd71fe6d4dfb25ad29e2db9413.zip
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.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/tbl.c b/tbl.c
index a5aa5ae5..3fb8e52a 100644
--- a/tbl.c
+++ b/tbl.c
@@ -1,4 +1,4 @@
-/* $Id: tbl.c,v 1.41 2017/06/08 18:11:22 schwarze Exp $ */
+/* $Id: tbl.c,v 1.42 2017/07/08 17:52:50 schwarze Exp $ */
/*
* Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011, 2015 Ingo Schwarze <schwarze@openbsd.org>
@@ -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");