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 | c516e456aa90607875602699c239832b71f65359 (patch) | |
tree | 7e061471efcf32a09dbaf449f6912c38a6bdc6e3 /tbl.c | |
parent | b0aec68c2e236344e79a7ee4949b2e5c450d13f8 (diff) | |
download | mandoc-c516e456aa90607875602699c239832b71f65359.tar.gz mandoc-c516e456aa90607875602699c239832b71f65359.tar.zst mandoc-c516e456aa90607875602699c239832b71f65359.zip |
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 | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -1,4 +1,4 @@ -/* $Id: tbl.c,v 1.33 2015/01/26 00:57:22 schwarze Exp $ */ +/* $Id: tbl.c,v 1.34 2015/01/27 05:21:45 schwarze Exp $ */ /* * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2011, 2015 Ingo Schwarze <schwarze@openbsd.org> @@ -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); |