aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tree.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-01-03 13:59:21 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-01-03 13:59:21 +0000
commit49e1f5cf487fd2c297036e1873f357463817c13d (patch)
tree8bd125a7db62c2cc35df8279db30975d7bdd6963 /tree.c
parente9da8c425b7c3bd1fb093fe12c25801c223ac95c (diff)
downloadmandoc-49e1f5cf487fd2c297036e1873f357463817c13d.tar.gz
mandoc-49e1f5cf487fd2c297036e1873f357463817c13d.tar.zst
mandoc-49e1f5cf487fd2c297036e1873f357463817c13d.zip
Make width calculations occur within tbl_term.c, not tbl.c. This allows
for front-ends to make decisions about widths, not the back-end. To pull this off, first make each tbl_head contain a unique index value (0 <= index < total tbl_head elements) and remove the tbl_calc() routine from the back-end. Then, when encountering the first tbl_span in the front-end, dynamically create an array of configurations (termp_tbl) keyed on each tbl_head's unique index value. Construct the decimals and widths at this time, then continue parsing as before. The termp_tbl and indexes are required because we pass a const tbl AST into the front-end.
Diffstat (limited to 'tree.c')
-rw-r--r--tree.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/tree.c b/tree.c
index 52e120f9..70bd73d9 100644
--- a/tree.c
+++ b/tree.c
@@ -1,4 +1,4 @@
-/* $Id: tree.c,v 1.30 2011/01/02 20:34:05 kristaps Exp $ */
+/* $Id: tree.c,v 1.31 2011/01/03 13:59:21 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@bsd.lv>
*
@@ -249,21 +249,8 @@ static void
print_span(const struct tbl_span *sp, int indent)
{
const struct tbl_dat *dp;
- const struct tbl_head *hp;
int i;
- if (TBL_SPAN_FIRST & sp->flags) {
- for (i = 0; i < indent; i++)
- putchar('\t');
- printf("tbl-head: ");
- for (hp = sp->head; hp; hp = hp->next) {
- printf("[%d]", hp->width);
- if (hp->next)
- putchar(' ');
- }
- putchar('\n');
- }
-
for (i = 0; i < indent; i++)
putchar('\t');