summaryrefslogtreecommitdiffstats
path: root/tbl.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2015-01-27 05:21:44 +0000
committerIngo Schwarze <schwarze@openbsd.org>2015-01-27 05:21:44 +0000
commit3d1973ffce60279bff4ec548c2c90f4d1d31f1a2 (patch)
treeff7ba8b19b0c296892ac283cae5c138a94b2e04f /tbl.c
parentfb1f845c9ebafe8648f3df58f8a4581041ff067e (diff)
downloadmandoc-3d1973ffce60279bff4ec548c2c90f4d1d31f1a2.tar.gz
Multiple parser and formatter fixes for line drawing in tbl(7).
* Allow mixing vertical line bars with the layout options of the preceding layout cell. * Correctly combine box options with layout lines. * Correctly print vertical lines in data rows, with the right spacing. * Correctly print cross markers and left and right ends of horizontal lines even if vertical lines differ above and below. * Avoid the bogus error message "no table data cells" when a table data section starts with a horizontal line. No increase in code size.
Diffstat (limited to 'tbl.c')
-rw-r--r--tbl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/tbl.c b/tbl.c
index 20ccb389..7019f4d2 100644
--- a/tbl.c
+++ b/tbl.c
@@ -173,11 +173,15 @@ void
tbl_end(struct tbl_node **tblp)
{
struct tbl_node *tbl;
+ struct tbl_span *sp;
tbl = *tblp;
*tblp = NULL;
- if (NULL == tbl->first_span || NULL == tbl->first_span->first)
+ sp = tbl->first_span;
+ while (sp != NULL && sp->first == NULL)
+ sp = sp->next;
+ if (sp == NULL)
mandoc_msg(MANDOCERR_TBLNODATA, tbl->parse,
tbl->line, tbl->pos, NULL);