summaryrefslogtreecommitdiffstats
path: root/tbl.c
diff options
context:
space:
mode:
Diffstat (limited to 'tbl.c')
-rw-r--r--tbl.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/tbl.c b/tbl.c
index db468617..14fd32b9 100644
--- a/tbl.c
+++ b/tbl.c
@@ -63,6 +63,8 @@ tbl_read(struct tbl *tbl, int ln, const char *p, int offs)
{
int len;
const char *cp;
+ struct tbl_dat *dp;
+ struct tbl_span *sp;
cp = &p[offs];
len = (int)strlen(cp);
@@ -85,9 +87,20 @@ tbl_read(struct tbl *tbl, int ln, const char *p, int offs)
return(tbl_option(tbl, ln, p) ? ROFF_IGN : ROFF_ERR);
case (TBL_PART_LAYOUT):
return(tbl_layout(tbl, ln, p) ? ROFF_IGN : ROFF_ERR);
- default:
+ case (TBL_PART_DATA):
break;
}
+
+ /* XXX: throw away data for now. */
+ if (NULL != (sp = tbl_data(tbl, ln, p))) {
+ while (NULL != (dp = sp->first)) {
+ sp->first = sp->first->next;
+ if (dp->string)
+ free(dp->string);
+ free(dp);
+ }
+ free(sp);
+ }
return(ROFF_CONT);
}