From c516e456aa90607875602699c239832b71f65359 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Tue, 27 Jan 2015 05:21:44 +0000 Subject: 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. --- tbl.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'tbl.c') diff --git a/tbl.c b/tbl.c index 184b7da4..bd8fc99c 100644 --- a/tbl.c +++ b/tbl.c @@ -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 * Copyright (c) 2011, 2015 Ingo Schwarze @@ -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); -- cgit v1.2.3