aboutsummaryrefslogtreecommitdiffstatshomepage
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
commit3a8ad8057352b753c868261c2eb7a11b81d3c325 (patch)
tree99b6211a0df6a943ca0cf1c08c926adb80784e1c /tbl_data.c
parentd9c6b1be15e48dc43678c02ee4e86d280ea73046 (diff)
downloadmandoc-3a8ad8057352b753c868261c2eb7a11b81d3c325.tar.gz
mandoc-3a8ad8057352b753c868261c2eb7a11b81d3c325.tar.zst
mandoc-3a8ad8057352b753c868261c2eb7a11b81d3c325.zip
Let the line-number of a tbl_span be remembered.
Diffstat (limited to 'tbl_data.c')
-rw-r--r--tbl_data.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/tbl_data.c b/tbl_data.c
index e21db323..70da2311 100644
--- a/tbl_data.c
+++ b/tbl_data.c
@@ -1,4 +1,4 @@
-/* $Id: tbl_data.c,v 1.21 2011/01/25 12:24:27 schwarze Exp $ */
+/* $Id: tbl_data.c,v 1.22 2011/02/06 22:02:58 kristaps Exp $ */
/*
* Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org>
@@ -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;