-/* $Id: tbl_data.c,v 1.24 2011/03/20 16:02:05 kristaps Exp $ */
+/* $Id: tbl_data.c,v 1.29 2014/03/23 11:25:26 schwarze Exp $ */
/*
* Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org>
#include <time.h>
#include "mandoc.h"
+#include "mandoc_aux.h"
#include "libmandoc.h"
#include "libroff.h"
-static int data(struct tbl_node *, struct tbl_span *,
+static int getdata(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,
+getdata(struct tbl_node *tbl, struct tbl_span *dp,
int ln, const char *p, int *pos)
{
struct tbl_dat *dat;
cp = dp->layout->first;
/*
- * Skip over spanners and vertical lines to data formats, since
+ * Skip over spanners, since
* we want to match data with data layout cells in the header.
*/
- while (cp && (TBL_CELL_VERT == cp->pos ||
- TBL_CELL_DVERT == cp->pos ||
- TBL_CELL_SPAN == cp->pos))
+ while (cp && TBL_CELL_SPAN == cp->pos)
cp = cp->next;
/*
if (*pos - sv == 2 && 'T' == p[sv] && '{' == p[sv + 1]) {
tbl->part = TBL_PART_CDATA;
- return(0);
+ return(1);
}
assert(*pos - sv >= 0);
if (p[pos] == tbl->opts.tab) {
tbl->part = TBL_PART_DATA;
pos++;
- return(data(tbl, tbl->last_span, ln, p, &pos));
+ return(getdata(tbl, tbl->last_span, ln, p, &pos));
} else if ('\0' == p[pos]) {
tbl->part = TBL_PART_DATA;
return(1);
dp = mandoc_calloc(1, sizeof(struct tbl_span));
dp->line = line;
- dp->tbl = &tbl->opts;
+ dp->opts = &tbl->opts;
dp->layout = rp;
dp->head = tbl->first_head;
/* This returns 0 when TBL_PART_CDATA is entered. */
while ('\0' != p[pos])
- if ( ! data(tbl, dp, ln, p, &pos))
+ if ( ! getdata(tbl, dp, ln, p, &pos))
return(0);
return(1);