version 1.101, 2010/09/04 18:31:44 |
version 1.103, 2010/12/01 10:21:25 |
|
|
#endif |
#endif |
|
|
enum rofft { |
enum rofft { |
|
ROFF_ad, |
ROFF_am, |
ROFF_am, |
ROFF_ami, |
ROFF_ami, |
ROFF_am1, |
ROFF_am1, |
|
|
ROFF_de1, |
ROFF_de1, |
ROFF_ds, |
ROFF_ds, |
ROFF_el, |
ROFF_el, |
|
ROFF_hy, |
ROFF_ie, |
ROFF_ie, |
ROFF_if, |
ROFF_if, |
ROFF_ig, |
ROFF_ig, |
|
ROFF_ne, |
|
ROFF_nh, |
ROFF_rm, |
ROFF_rm, |
ROFF_tr, |
ROFF_tr, |
ROFF_cblock, |
ROFF_cblock, |
Line 130 static enum roffrule roff_evalcond(const char *, int |
|
Line 134 static enum roffrule roff_evalcond(const char *, int |
|
static void roff_freestr(struct roff *); |
static void roff_freestr(struct roff *); |
static const char *roff_getstrn(const struct roff *, |
static const char *roff_getstrn(const struct roff *, |
const char *, size_t); |
const char *, size_t); |
static enum rofferr roff_line(ROFF_ARGS); |
static enum rofferr roff_line_ignore(ROFF_ARGS); |
static enum rofferr roff_nr(ROFF_ARGS); |
static enum rofferr roff_nr(ROFF_ARGS); |
static int roff_res(struct roff *, |
static int roff_res(struct roff *, |
char **, size_t *, int); |
char **, size_t *, int); |
Line 147 static char *roff_strdup(const char *); |
|
Line 151 static char *roff_strdup(const char *); |
|
static struct roffmac *hash[HASHWIDTH]; |
static struct roffmac *hash[HASHWIDTH]; |
|
|
static struct roffmac roffs[ROFF_MAX] = { |
static struct roffmac roffs[ROFF_MAX] = { |
|
{ "ad", roff_line_ignore, NULL, NULL, 0, NULL }, |
{ "am", roff_block, roff_block_text, roff_block_sub, 0, NULL }, |
{ "am", roff_block, roff_block_text, roff_block_sub, 0, NULL }, |
{ "ami", roff_block, roff_block_text, roff_block_sub, 0, NULL }, |
{ "ami", roff_block, roff_block_text, roff_block_sub, 0, NULL }, |
{ "am1", roff_block, roff_block_text, roff_block_sub, 0, NULL }, |
{ "am1", roff_block, roff_block_text, roff_block_sub, 0, NULL }, |
Line 155 static struct roffmac roffs[ROFF_MAX] = { |
|
Line 160 static struct roffmac roffs[ROFF_MAX] = { |
|
{ "de1", roff_block, roff_block_text, roff_block_sub, 0, NULL }, |
{ "de1", roff_block, roff_block_text, roff_block_sub, 0, NULL }, |
{ "ds", roff_ds, NULL, NULL, 0, NULL }, |
{ "ds", roff_ds, NULL, NULL, 0, NULL }, |
{ "el", roff_cond, roff_cond_text, roff_cond_sub, ROFFMAC_STRUCT, NULL }, |
{ "el", roff_cond, roff_cond_text, roff_cond_sub, ROFFMAC_STRUCT, NULL }, |
|
{ "hy", roff_line_ignore, NULL, NULL, 0, NULL }, |
{ "ie", roff_cond, roff_cond_text, roff_cond_sub, ROFFMAC_STRUCT, NULL }, |
{ "ie", roff_cond, roff_cond_text, roff_cond_sub, ROFFMAC_STRUCT, NULL }, |
{ "if", roff_cond, roff_cond_text, roff_cond_sub, ROFFMAC_STRUCT, NULL }, |
{ "if", roff_cond, roff_cond_text, roff_cond_sub, ROFFMAC_STRUCT, NULL }, |
{ "ig", roff_block, roff_block_text, roff_block_sub, 0, NULL }, |
{ "ig", roff_block, roff_block_text, roff_block_sub, 0, NULL }, |
{ "rm", roff_line, NULL, NULL, 0, NULL }, |
{ "ne", roff_line_ignore, NULL, NULL, 0, NULL }, |
{ "tr", roff_line, NULL, NULL, 0, NULL }, |
{ "nh", roff_line_ignore, NULL, NULL, 0, NULL }, |
|
{ "rm", roff_line_ignore, NULL, NULL, 0, NULL }, |
|
{ "tr", roff_line_ignore, NULL, NULL, 0, NULL }, |
{ ".", roff_cblock, NULL, NULL, 0, NULL }, |
{ ".", roff_cblock, NULL, NULL, 0, NULL }, |
{ "\\}", roff_ccond, NULL, NULL, 0, NULL }, |
{ "\\}", roff_ccond, NULL, NULL, 0, NULL }, |
{ "nr", roff_nr, NULL, NULL, 0, NULL }, |
{ "nr", roff_nr, NULL, NULL, 0, NULL }, |
Line 749 roff_cond_sub(ROFF_ARGS) |
|
Line 757 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; |
Line 759 roff_cond_sub(ROFF_ARGS) |
|
Line 766 roff_cond_sub(ROFF_ARGS) |
|
* continue. |
* continue. |
*/ |
*/ |
|
|
l = r->last; |
|
roffnode_cleanscope(r); |
roffnode_cleanscope(r); |
|
|
if (ROFF_MAX == (t = roff_parse(*bufp, &pos))) { |
if (ROFF_MAX == (t = roff_parse(*bufp, &pos))) { |
Line 843 roff_evalcond(const char *v, int *pos) |
|
Line 849 roff_evalcond(const char *v, int *pos) |
|
|
|
/* ARGSUSED */ |
/* ARGSUSED */ |
static enum rofferr |
static enum rofferr |
roff_line(ROFF_ARGS) |
roff_line_ignore(ROFF_ARGS) |
{ |
{ |
|
|
return(ROFF_IGN); |
return(ROFF_IGN); |