version 1.79, 2010/05/17 00:06:36 |
version 1.80, 2010/05/17 00:37:26 |
|
|
('.' == (c) || '\'' == (c)) |
('.' == (c) || '\'' == (c)) |
|
|
enum rofft { |
enum rofft { |
|
ROFF_am, |
|
ROFF_ami, |
|
ROFF_am1, |
|
ROFF_de, |
|
ROFF_dei, |
|
ROFF_de1, |
ROFF_if, |
ROFF_if, |
ROFF_ig, |
ROFF_ig, |
ROFF_cblock, |
ROFF_cblock, |
ROFF_ccond, |
ROFF_ccond, |
#if 0 |
#if 0 |
ROFF_am, |
|
ROFF_ami, |
|
ROFF_de, |
|
ROFF_dei, |
|
ROFF_ie, |
ROFF_ie, |
ROFF_el, |
ROFF_el, |
#endif |
#endif |
|
|
#define ROFFMAC_STRUCT (1 << 0) /* always interpret */ |
#define ROFFMAC_STRUCT (1 << 0) /* always interpret */ |
}; |
}; |
|
|
|
static enum rofferr roff_block(ROFF_ARGS); |
|
static enum rofferr roff_block_text(ROFF_ARGS); |
|
static enum rofferr roff_block_sub(ROFF_ARGS); |
|
static enum rofferr roff_cblock(ROFF_ARGS); |
|
static enum rofferr roff_ccond(ROFF_ARGS); |
static enum rofferr roff_if(ROFF_ARGS); |
static enum rofferr roff_if(ROFF_ARGS); |
static enum rofferr roff_if_text(ROFF_ARGS); |
static enum rofferr roff_if_text(ROFF_ARGS); |
static enum rofferr roff_if_sub(ROFF_ARGS); |
static enum rofferr roff_if_sub(ROFF_ARGS); |
static enum rofferr roff_ig(ROFF_ARGS); |
|
static enum rofferr roff_ig_text(ROFF_ARGS); |
|
static enum rofferr roff_ig_sub(ROFF_ARGS); |
|
static enum rofferr roff_cblock(ROFF_ARGS); |
|
static enum rofferr roff_ccond(ROFF_ARGS); |
|
|
|
const struct roffmac roffs[ROFF_MAX] = { |
const struct roffmac roffs[ROFF_MAX] = { |
|
{ "am", roff_block, roff_block_text, roff_block_sub, 0 }, |
|
{ "ami", roff_block, roff_block_text, roff_block_sub, 0 }, |
|
{ "am1", roff_block, roff_block_text, roff_block_sub, 0 }, |
|
{ "de", roff_block, roff_block_text, roff_block_sub, 0 }, |
|
{ "dei", roff_block, roff_block_text, roff_block_sub, 0 }, |
|
{ "de1", roff_block, roff_block_text, roff_block_sub, 0 }, |
{ "if", roff_if, roff_if_text, roff_if_sub, ROFFMAC_STRUCT }, |
{ "if", roff_if, roff_if_text, roff_if_sub, ROFFMAC_STRUCT }, |
{ "ig", roff_ig, roff_ig_text, roff_ig_sub, 0 }, |
{ "ig", roff_block, roff_block_text, roff_block_sub, 0 }, |
{ ".", roff_cblock, NULL, NULL, 0 }, |
{ ".", roff_cblock, NULL, NULL, 0 }, |
{ "\\}", roff_ccond, NULL, NULL, 0 }, |
{ "\\}", roff_ccond, NULL, NULL, 0 }, |
}; |
}; |
Line 396 roff_ccond(ROFF_ARGS) |
|
Line 404 roff_ccond(ROFF_ARGS) |
|
|
|
/* ARGSUSED */ |
/* ARGSUSED */ |
static enum rofferr |
static enum rofferr |
roff_ig(ROFF_ARGS) |
roff_block(ROFF_ARGS) |
{ |
{ |
int sv; |
int sv; |
size_t sz; |
size_t sz; |
|
|
|
if (ROFF_ig != tok && '\0' == (*bufp)[pos]) { |
|
if ( ! (*r->msg)(MANDOCERR_NOARGS, r->data, ln, ppos, NULL)) |
|
return(ROFF_ERR); |
|
return(ROFF_IGN); |
|
} else if (ROFF_ig != tok) { |
|
while ((*bufp)[pos] && ' ' != (*bufp)[pos]) |
|
pos++; |
|
while (' ' == (*bufp)[pos]) |
|
pos++; |
|
} |
|
|
if ( ! roffnode_push(r, tok, ln, ppos)) |
if ( ! roffnode_push(r, tok, ln, ppos)) |
return(ROFF_ERR); |
return(ROFF_ERR); |
|
|
Line 474 roff_if_sub(ROFF_ARGS) |
|
Line 493 roff_if_sub(ROFF_ARGS) |
|
|
|
/* ARGSUSED */ |
/* ARGSUSED */ |
static enum rofferr |
static enum rofferr |
roff_ig_sub(ROFF_ARGS) |
roff_block_sub(ROFF_ARGS) |
{ |
{ |
enum rofft t; |
enum rofft t; |
int i, j; |
int i, j; |
Line 530 roff_ig_sub(ROFF_ARGS) |
|
Line 549 roff_ig_sub(ROFF_ARGS) |
|
|
|
/* ARGSUSED */ |
/* ARGSUSED */ |
static enum rofferr |
static enum rofferr |
roff_ig_text(ROFF_ARGS) |
roff_block_text(ROFF_ARGS) |
{ |
{ |
|
|
return(ROFF_IGN); |
return(ROFF_IGN); |