=================================================================== RCS file: /cvs/mandoc/tbl_layout.c,v retrieving revision 1.6 retrieving revision 1.9 diff -u -p -r1.6 -r1.9 --- mandoc/tbl_layout.c 2011/01/02 10:10:57 1.6 +++ mandoc/tbl_layout.c 2011/01/03 13:59:21 1.9 @@ -1,4 +1,4 @@ -/* $Id: tbl_layout.c,v 1.6 2011/01/02 10:10:57 kristaps Exp $ */ +/* $Id: tbl_layout.c,v 1.9 2011/01/03 13:59:21 kristaps Exp $ */ /* * Copyright (c) 2009, 2010 Kristaps Dzonsons * @@ -294,7 +294,7 @@ cell_alloc(struct tbl_node *tbl, struct tbl_row *rp, e * ones. */ - h = pp ? pp->head->prev : tbl->first_head; + h = pp ? pp->head->next : tbl->first_head; if (h) { /* Re-use data header. */ @@ -319,9 +319,12 @@ cell_alloc(struct tbl_node *tbl, struct tbl_row *rp, e (TBL_CELL_VERT == p->pos || TBL_CELL_DVERT == p->pos)) { hp = mandoc_calloc(1, sizeof(struct tbl_head)); + hp->ident = tbl->opts.cols++; hp->prev = h->prev; if (h->prev) h->prev->next = hp; + if (h == tbl->first_head) + tbl->first_head = hp; h->prev = hp; hp->next = h; head_adjust(p, hp); @@ -339,6 +342,7 @@ cell_alloc(struct tbl_node *tbl, struct tbl_row *rp, e } hp = mandoc_calloc(1, sizeof(struct tbl_head)); + hp->ident = tbl->opts.cols++; if (tbl->last_head) { hp->prev = tbl->last_head;