diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2015-01-27 05:21:44 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2015-01-27 05:21:44 +0000 |
commit | 3d1973ffce60279bff4ec548c2c90f4d1d31f1a2 (patch) | |
tree | ff7ba8b19b0c296892ac283cae5c138a94b2e04f /tbl.c | |
parent | fb1f845c9ebafe8648f3df58f8a4581041ff067e (diff) | |
download | mandoc-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.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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); |