version 1.85, 2010/05/29 19:41:47 |
version 1.87, 2010/06/09 20:00:38 |
Line 621 roff_cond_sub(ROFF_ARGS) |
|
Line 621 roff_cond_sub(ROFF_ARGS) |
|
{ |
{ |
enum rofft t; |
enum rofft t; |
enum roffrule rr; |
enum roffrule rr; |
|
struct roffnode *l; |
|
|
ppos = pos; |
ppos = pos; |
rr = r->last->rule; |
rr = r->last->rule; |
|
|
roff_cond_text(r, tok, bufp, szp, ln, ppos, pos, offs); |
/* |
|
* Clean out scope. If we've closed ourselves, then don't |
|
* continue. |
|
*/ |
|
|
|
l = r->last; |
|
roffnode_cleanscope(r); |
|
|
|
if (l != r->last) |
|
return(ROFFRULE_DENY == rr ? ROFF_IGN : ROFF_CONT); |
|
|
if (ROFF_MAX == (t = roff_parse(*bufp, &pos))) |
if (ROFF_MAX == (t = roff_parse(*bufp, &pos))) |
return(ROFFRULE_DENY == rr ? ROFF_IGN : ROFF_CONT); |
return(ROFFRULE_DENY == rr ? ROFF_IGN : ROFF_CONT); |
|
|
Line 666 roff_cond_text(ROFF_ARGS) |
|
Line 676 roff_cond_text(ROFF_ARGS) |
|
return(ROFFRULE_DENY == rr ? ROFF_IGN : ROFF_CONT); |
return(ROFFRULE_DENY == rr ? ROFF_IGN : ROFF_CONT); |
} |
} |
|
|
if (ep > st && '\\' != *(ep - 1)) { |
if (ep == st || (ep > st && '\\' != *(ep - 1))) |
ep = '\0'; |
|
roffnode_pop(r); |
roffnode_pop(r); |
} |
|
|
|
roffnode_cleanscope(r); |
roffnode_cleanscope(r); |
return(ROFFRULE_DENY == rr ? ROFF_IGN : ROFF_CONT); |
return(ROFFRULE_DENY == rr ? ROFF_IGN : ROFF_CONT); |