diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2011-02-06 22:02:58 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2011-02-06 22:02:58 +0000 |
commit | 7b8e2174fd0e7158995a5790c05254f664943dcc (patch) | |
tree | aa19a7b18778510790f6b700129ecb8960351d29 /tbl_data.c | |
parent | da98c7539daf0f47de95ebfe6c514b48047dcea0 (diff) | |
download | mandoc-7b8e2174fd0e7158995a5790c05254f664943dcc.tar.gz |
Let the line-number of a tbl_span be remembered.
Diffstat (limited to 'tbl_data.c')
-rw-r--r-- | tbl_data.c | 17 |
1 files changed, 9 insertions, 8 deletions
@@ -29,10 +29,10 @@ #include "libmandoc.h" #include "libroff.h" -static int data(struct tbl_node *, struct tbl_span *, - int, const char *, int *); -static struct tbl_span *newspan(struct tbl_node *, struct tbl_row *); - +static int data(struct tbl_node *, struct tbl_span *, + int, const char *, int *); +static struct tbl_span *newspan(struct tbl_node *, int, + struct tbl_row *); static int data(struct tbl_node *tbl, struct tbl_span *dp, @@ -176,11 +176,12 @@ tbl_cdata(struct tbl_node *tbl, int ln, const char *p) } static struct tbl_span * -newspan(struct tbl_node *tbl, struct tbl_row *rp) +newspan(struct tbl_node *tbl, int line, struct tbl_row *rp) { struct tbl_span *dp; dp = mandoc_calloc(1, sizeof(struct tbl_span)); + dp->line = line; dp->tbl = &tbl->opts; dp->layout = rp; dp->head = tbl->first_head; @@ -226,11 +227,11 @@ tbl_data(struct tbl_node *tbl, int ln, const char *p) rp && rp->first; rp = rp->next) { switch (rp->first->pos) { case (TBL_CELL_HORIZ): - dp = newspan(tbl, rp); + dp = newspan(tbl, ln, rp); dp->pos = TBL_SPAN_HORIZ; continue; case (TBL_CELL_DHORIZ): - dp = newspan(tbl, rp); + dp = newspan(tbl, ln, rp); dp->pos = TBL_SPAN_DHORIZ; continue; default: @@ -248,7 +249,7 @@ tbl_data(struct tbl_node *tbl, int ln, const char *p) assert(rp); - dp = newspan(tbl, rp); + dp = newspan(tbl, ln, rp); if ( ! strcmp(p, "_")) { dp->pos = TBL_SPAN_HORIZ; |