=================================================================== RCS file: /cvs/mandoc/roff.c,v retrieving revision 1.115 retrieving revision 1.117 diff -u -p -r1.115 -r1.117 --- mandoc/roff.c 2011/01/01 15:45:18 1.115 +++ mandoc/roff.c 2011/01/01 16:18:39 1.117 @@ -1,4 +1,4 @@ -/* $Id: roff.c,v 1.115 2011/01/01 15:45:18 kristaps Exp $ */ +/* $Id: roff.c,v 1.117 2011/01/01 16:18:39 kristaps Exp $ */ /* * Copyright (c) 2010 Kristaps Dzonsons * Copyright (c) 2010 Ingo Schwarze @@ -515,15 +515,20 @@ roff_parseln(struct roff *r, int ln, char **bufp, } -int +void roff_endparse(struct roff *r) { - /* FIXME: if r->tbl */ if (r->last) (*r->msg)(MANDOCERR_SCOPEEXIT, r->data, r->last->line, r->last->col, NULL); - return(1); + + if (r->tbl) { + (*r->msg)(MANDOCERR_SCOPEEXIT, r->data, + r->tbl->line, r->tbl->pos, NULL); + tbl_end(r->tbl); + r->tbl = NULL; + } } @@ -1138,7 +1143,7 @@ roff_T_(ROFF_ARGS) if (NULL == r->tbl) (*r->msg)(MANDOCERR_NOSCOPE, r->data, ln, ppos, NULL); else - tbl_restart(r->tbl); + tbl_restart(ppos, ln, r->tbl); return(ROFF_IGN); }