summaryrefslogtreecommitdiffstats
path: root/tbl_data.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-02-06 22:02:58 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-02-06 22:02:58 +0000
commit7b8e2174fd0e7158995a5790c05254f664943dcc (patch)
treeaa19a7b18778510790f6b700129ecb8960351d29 /tbl_data.c
parentda98c7539daf0f47de95ebfe6c514b48047dcea0 (diff)
downloadmandoc-7b8e2174fd0e7158995a5790c05254f664943dcc.tar.gz
Let the line-number of a tbl_span be remembered.
Diffstat (limited to 'tbl_data.c')
-rw-r--r--tbl_data.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/tbl_data.c b/tbl_data.c
index c4883160..e125a6e9 100644
--- a/tbl_data.c
+++ b/tbl_data.c
@@ -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;