-/* $Id: tbl.c,v 1.39 2015/01/30 17:32:16 schwarze Exp $ */
+/* $Id: tbl.c,v 1.42 2017/07/08 17:52:50 schwarze Exp $ */
/*
* Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011, 2015 Ingo Schwarze <schwarze@openbsd.org>
#include "libroff.h"
-enum rofferr
+void
tbl_read(struct tbl_node *tbl, int ln, const char *p, int pos)
{
const char *cp;
if (*cp == ';') {
tbl_option(tbl, ln, p, &pos);
if (p[pos] == '\0')
- return(ROFF_IGN);
+ return;
}
}
switch (tbl->part) {
case TBL_PART_LAYOUT:
tbl_layout(tbl, ln, p, pos);
- return(ROFF_IGN);
+ break;
case TBL_PART_CDATA:
- return(tbl_cdata(tbl, ln, p, pos) ? ROFF_TBL : ROFF_IGN);
+ tbl_cdata(tbl, ln, p, pos);
+ break;
default:
+ tbl_data(tbl, ln, p, pos);
break;
}
-
- tbl_data(tbl, ln, p, pos);
- return(ROFF_TBL);
}
struct tbl_node *
tbl->part = TBL_PART_OPTS;
tbl->opts.tab = '\t';
tbl->opts.decimal = '.';
- return(tbl);
+ return tbl;
}
void
while (rp->first != NULL) {
cp = rp->first;
rp->first = cp->next;
+ free(cp->wstr);
free(cp);
}
free(rp);
: tbl->first_span;
if (span)
tbl->current_span = span;
- return(span);
+ return span;
}
int
-tbl_end(struct tbl_node **tblp)
+tbl_end(struct tbl_node *tbl)
{
- struct tbl_node *tbl;
struct tbl_span *sp;
- tbl = *tblp;
- *tblp = NULL;
-
if (tbl->part == TBL_PART_CDATA)
mandoc_msg(MANDOCERR_TBLDATA_BLK, tbl->parse,
tbl->line, tbl->pos, "TE");
if (sp == NULL) {
mandoc_msg(MANDOCERR_TBLDATA_NONE, tbl->parse,
tbl->line, tbl->pos, NULL);
- return(0);
+ return 0;
}
- return(1);
+ return 1;
}