From 543980ff972d5b50a51593a306420bb65fbf6b61 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Tue, 4 Jan 2011 12:06:21 +0000 Subject: Fix to make horizontal spanners in the layout be properly printed. mandoc also now warns (so does tbl(1)) if a horizontal spanner is specified along with data. While here, fix up some documentation and uncomment the tbl reference. --- tbl_term.c | 39 ++++++++++----------------------------- 1 file changed, 10 insertions(+), 29 deletions(-) (limited to 'tbl_term.c') diff --git a/tbl_term.c b/tbl_term.c index 74f00ad9..97c9d392 100644 --- a/tbl_term.c +++ b/tbl_term.c @@ -1,4 +1,4 @@ -/* $Id: tbl_term.c,v 1.6 2011/01/03 16:04:41 kristaps Exp $ */ +/* $Id: tbl_term.c,v 1.7 2011/01/04 12:06:21 kristaps Exp $ */ /* * Copyright (c) 2009 Kristaps Dzonsons * @@ -40,9 +40,6 @@ static void tbl_data_number(struct termp *, static void tbl_data_literal(struct termp *, const struct tbl_dat *, const struct termp_tbl *); -static void tbl_data_spanner(struct termp *, - const struct tbl_dat *, - const struct termp_tbl *); static void tbl_data(struct termp *, const struct tbl *, const struct tbl_dat *, const struct termp_tbl *); @@ -261,8 +258,13 @@ tbl_data(struct termp *tp, const struct tbl *tbl, switch (dp->pos) { case (TBL_DATA_HORIZ): /* FALLTHROUGH */ + case (TBL_DATA_NHORIZ): + tbl_char(tp, '-', tbp->width); + return; + case (TBL_DATA_NDHORIZ): + /* FALLTHROUGH */ case (TBL_DATA_DHORIZ): - tbl_data_spanner(tp, dp, tbp); + tbl_char(tp, '=', tbp->width); return; default: break; @@ -272,10 +274,10 @@ tbl_data(struct termp *tp, const struct tbl *tbl, switch (pos) { case (TBL_CELL_HORIZ): - /* FALLTHROUGH */ + tbl_char(tp, '-', tbp->width); + break; case (TBL_CELL_DHORIZ): - /* FIXME: THIS IS WRONG. */ - tbl_data_spanner(tp, dp, tbp); + tbl_char(tp, '=', tbp->width); break; case (TBL_CELL_LONG): /* FALLTHROUGH */ @@ -319,7 +321,6 @@ tbl_vframe(struct termp *tp, const struct tbl *tbl) term_word(tp, "|"); } - static inline void tbl_char(struct termp *tp, char c, int len) { @@ -335,26 +336,6 @@ tbl_char(struct termp *tp, char c, int len) term_word(tp, cp); } -static void -tbl_data_spanner(struct termp *tp, - const struct tbl_dat *dp, - const struct termp_tbl *tblp) -{ - - switch (dp->pos) { - case (TBL_DATA_HORIZ): - case (TBL_DATA_NHORIZ): - tbl_char(tp, '-', tblp->width); - break; - case (TBL_DATA_DHORIZ): - case (TBL_DATA_NDHORIZ): - tbl_char(tp, '=', tblp->width); - break; - default: - break; - } -} - static void tbl_data_literal(struct termp *tp, const struct tbl_dat *dp, -- cgit v1.2.3