version 1.114, 2010/12/31 18:19:43 |
version 1.117, 2011/01/01 16:18:39 |
Line 515 roff_parseln(struct roff *r, int ln, char **bufp, |
|
Line 515 roff_parseln(struct roff *r, int ln, char **bufp, |
|
} |
} |
|
|
|
|
int |
void |
roff_endparse(struct roff *r) |
roff_endparse(struct roff *r) |
{ |
{ |
|
|
/* FIXME: if r->tbl */ |
|
if (r->last) |
if (r->last) |
(*r->msg)(MANDOCERR_SCOPEEXIT, r->data, |
(*r->msg)(MANDOCERR_SCOPEEXIT, r->data, |
r->last->line, r->last->col, NULL); |
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; |
|
} |
} |
} |
|
|
|
|
Line 1123 roff_TE(ROFF_ARGS) |
|
Line 1128 roff_TE(ROFF_ARGS) |
|
|
|
if (NULL == r->tbl) |
if (NULL == r->tbl) |
(*r->msg)(MANDOCERR_NOSCOPE, r->data, ln, ppos, NULL); |
(*r->msg)(MANDOCERR_NOSCOPE, r->data, ln, ppos, NULL); |
|
else |
|
tbl_end(r->tbl); |
|
|
r->tbl = NULL; |
r->tbl = NULL; |
return(ROFF_IGN); |
return(ROFF_IGN); |
Line 1136 roff_T_(ROFF_ARGS) |
|
Line 1143 roff_T_(ROFF_ARGS) |
|
if (NULL == r->tbl) |
if (NULL == r->tbl) |
(*r->msg)(MANDOCERR_NOSCOPE, r->data, ln, ppos, NULL); |
(*r->msg)(MANDOCERR_NOSCOPE, r->data, ln, ppos, NULL); |
else |
else |
tbl_restart(r->tbl); |
tbl_restart(ppos, ln, r->tbl); |
|
|
return(ROFF_IGN); |
return(ROFF_IGN); |
} |
} |
Line 1147 roff_TS(ROFF_ARGS) |
|
Line 1154 roff_TS(ROFF_ARGS) |
|
{ |
{ |
struct tbl *t; |
struct tbl *t; |
|
|
if (r->tbl) |
if (r->tbl) { |
(*r->msg)(MANDOCERR_SCOPEBROKEN, r->data, ln, ppos, NULL); |
(*r->msg)(MANDOCERR_SCOPEBROKEN, r->data, ln, ppos, NULL); |
|
tbl_end(r->tbl); |
|
} |
|
|
t = tbl_alloc(r->data, r->msg); |
t = tbl_alloc(ppos, ln, r->data, r->msg); |
|
|
if (r->last_tbl) |
if (r->last_tbl) |
r->last_tbl->next = t; |
r->last_tbl->next = t; |