version 1.6, 2009/07/12 19:05:52 |
version 1.7, 2009/07/12 20:30:27 |
|
|
WOBS |
WOBS |
}; |
}; |
|
|
enum merr { |
|
EOPEN, |
|
EQUOT, |
|
ENOCTX, |
|
ENOPARMS |
|
}; |
|
|
|
#define REWIND_REWIND (1 << 0) |
#define REWIND_REWIND (1 << 0) |
#define REWIND_NOHALT (1 << 1) |
#define REWIND_NOHALT (1 << 1) |
#define REWIND_HALT (1 << 2) |
#define REWIND_HALT (1 << 2) |
|
|
case (EOPEN): |
case (EOPEN): |
p = "explicit scope still open on exit"; |
p = "explicit scope still open on exit"; |
break; |
break; |
case (EQUOT): |
case (EQUOTPHR): |
p = "unterminated quotation"; |
p = "unterminated quotation"; |
break; |
break; |
case (ENOCTX): |
case (ENOCTX): |
p = "closure has no prior context"; |
p = "closure has no prior context"; |
break; |
break; |
case (ENOPARMS): |
case (ENOLINE): |
p = "unexpect line arguments"; |
p = "unexpect line arguments"; |
break; |
break; |
} |
} |
|
|
return(0); |
return(0); |
return(rew_expblock(mdoc, tok, line, ppos)); |
return(rew_expblock(mdoc, tok, line, ppos)); |
} |
} |
return(perr(mdoc, line, ppos, ENOPARMS)); |
return(perr(mdoc, line, ppos, ENOLINE)); |
} |
} |
|
|
if ( ! rew_subblock(MDOC_BODY, mdoc, tok, line, ppos)) |
if ( ! rew_subblock(MDOC_BODY, mdoc, tok, line, ppos)) |
|
|
else if ('\\' != buf[i - 1]) |
else if ('\\' != buf[i - 1]) |
break; |
break; |
if (0 == buf[i]) |
if (0 == buf[i]) |
return(perr(mdoc, line, la, EQUOT)); |
return(perr(mdoc, line, la, EQUOTPHR)); |
quoted = 1; |
quoted = 1; |
} else |
} else |
for ( ; buf[i]; i++) |
for ( ; buf[i]; i++) |