summaryrefslogtreecommitdiffstats
path: root/tbl_data.c
diff options
context:
space:
mode:
Diffstat (limited to 'tbl_data.c')
-rw-r--r--tbl_data.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/tbl_data.c b/tbl_data.c
index c036572f..7c316aad 100644
--- a/tbl_data.c
+++ b/tbl_data.c
@@ -167,13 +167,19 @@ tbl_data(struct tbl_node *tbl, int ln, const char *p)
/*
* Choose a layout row: take the one following the last parsed
* span's. If that doesn't exist, use the last parsed span's.
- * If there's no last parsed span, use the first row. This can
- * be NULL!
+ * If there's no last parsed span, use the first row. Lastly,
+ * if the last span was a horizontal line, use the same layout
+ * (it doesn't "consume" the layout).
+ *
+ * In the end, this can be NULL!
*/
if (tbl->last_span) {
assert(tbl->last_span->layout);
- rp = tbl->last_span->layout->next;
+ if (tbl->last_span->pos == TBL_SPAN_DATA)
+ rp = tbl->last_span->layout->next;
+ else
+ rp = tbl->last_span->layout;
if (NULL == rp)
rp = tbl->last_span->layout;
} else