aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tbl_layout.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2015-01-30 04:11:50 +0000
committerIngo Schwarze <schwarze@openbsd.org>2015-01-30 04:11:50 +0000
commit71fa4361c47e9ed2f3c6521e9273fabb41aadc20 (patch)
treeac472a0b2793a26633a7405d837eaa7fa648ea74 /tbl_layout.c
parent8ea5dc6d40c942157256ddd510bd3fa16cb44303 (diff)
downloadmandoc-71fa4361c47e9ed2f3c6521e9273fabb41aadc20.tar.gz
mandoc-71fa4361c47e9ed2f3c6521e9273fabb41aadc20.tar.zst
mandoc-71fa4361c47e9ed2f3c6521e9273fabb41aadc20.zip
Abolish struct tbl_head and replace it by an "int col" member in
struct tbl_cell. No functional change, minus 40 lines of code.
Diffstat (limited to 'tbl_layout.c')
-rw-r--r--tbl_layout.c33
1 files changed, 7 insertions, 26 deletions
diff --git a/tbl_layout.c b/tbl_layout.c
index e22816f6..dc745b33 100644
--- a/tbl_layout.c
+++ b/tbl_layout.c
@@ -1,4 +1,4 @@
-/* $Id: tbl_layout.c,v 1.36 2015/01/30 02:09:04 schwarze Exp $ */
+/* $Id: tbl_layout.c,v 1.37 2015/01/30 04:11:50 schwarze Exp $ */
/*
* Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2012, 2014, 2015 Ingo Schwarze <schwarze@openbsd.org>
@@ -282,7 +282,7 @@ tbl_layout(struct tbl_node *tbl, int ln, const char *p, int pos)
if (tbl->opts.lvert < rp->vert)
tbl->opts.lvert = rp->vert;
if (rp->last != NULL &&
- rp->last->head == tbl->last_head &&
+ rp->last->col + 1 == tbl->opts.cols &&
tbl->opts.rvert < rp->last->vert)
tbl->opts.rvert = rp->last->vert;
@@ -324,38 +324,19 @@ static struct tbl_cell *
cell_alloc(struct tbl_node *tbl, struct tbl_row *rp, enum tbl_cellt pos)
{
struct tbl_cell *p, *pp;
- struct tbl_head *h, *hp;
p = mandoc_calloc(1, sizeof(*p));
+ p->pos = pos;
if ((pp = rp->last) != NULL) {
pp->next = p;
- h = pp->head->next;
- } else {
+ p->col = pp->col + 1;
+ } else
rp->first = p;
- h = tbl->first_head;
- }
rp->last = p;
- p->pos = pos;
-
- /* Re-use header. */
-
- if (h != NULL) {
- p->head = h;
- return(p);
- }
-
- hp = mandoc_calloc(1, sizeof(*hp));
- hp->ident = tbl->opts.cols++;
-
- if (tbl->last_head != NULL) {
- hp->prev = tbl->last_head;
- tbl->last_head->next = hp;
- } else
- tbl->first_head = hp;
- tbl->last_head = hp;
+ if (tbl->opts.cols <= p->col)
+ tbl->opts.cols = p->col + 1;
- p->head = hp;
return(p);
}