Print this page
5051 import mdocml-1.12.3
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Approved by: TBD
*** 1,6 ****
! /* $Id: tbl_data.c,v 1.24 2011/03/20 16:02:05 kristaps Exp $ */
/*
* Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org>
*
* Permission to use, copy, modify, and distribute this software for any
--- 1,6 ----
! /* $Id: tbl_data.c,v 1.27 2013/06/01 04:56:50 schwarze Exp $ */
/*
* Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011 Ingo Schwarze <schwarze@openbsd.org>
*
* Permission to use, copy, modify, and distribute this software for any
*** 47,63 ****
cp = dp->last->layout->next;
else if (NULL == dp->last)
cp = dp->layout->first;
/*
! * Skip over spanners and vertical lines to data formats, 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))
cp = cp->next;
/*
* Stop processing when we reach the end of the available layout
* cells. This means that we have extra input.
--- 47,61 ----
cp = dp->last->layout->next;
else if (NULL == dp->last)
cp = dp->layout->first;
/*
! * Skip over spanners, since
* we want to match data with data layout cells in the header.
*/
! while (cp && TBL_CELL_SPAN == cp->pos)
cp = cp->next;
/*
* Stop processing when we reach the end of the available layout
* cells. This means that we have extra input.
*** 102,112 ****
* until a standalone `T}', are included in our cell.
*/
if (*pos - sv == 2 && 'T' == p[sv] && '{' == p[sv + 1]) {
tbl->part = TBL_PART_CDATA;
! return(0);
}
assert(*pos - sv >= 0);
dat->string = mandoc_malloc((size_t)(*pos - sv + 1));
--- 100,110 ----
* until a standalone `T}', are included in our cell.
*/
if (*pos - sv == 2 && 'T' == p[sv] && '{' == p[sv + 1]) {
tbl->part = TBL_PART_CDATA;
! return(1);
}
assert(*pos - sv >= 0);
dat->string = mandoc_malloc((size_t)(*pos - sv + 1));
*** 185,195 ****
{
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;
if (tbl->last_span) {
tbl->last_span->next = dp;
--- 183,193 ----
{
struct tbl_span *dp;
dp = mandoc_calloc(1, sizeof(struct tbl_span));
dp->line = line;
! dp->opts = &tbl->opts;
dp->layout = rp;
dp->head = tbl->first_head;
if (tbl->last_span) {
tbl->last_span->next = dp;