version 1.299, 2017/05/05 15:17:32 |
version 1.300, 2017/05/07 17:31:45 |
Line 181 static enum rofferr roff_it(ROFF_ARGS); |
|
Line 181 static enum rofferr roff_it(ROFF_ARGS); |
|
static enum rofferr roff_line_ignore(ROFF_ARGS); |
static enum rofferr roff_line_ignore(ROFF_ARGS); |
static void roff_man_alloc1(struct roff_man *); |
static void roff_man_alloc1(struct roff_man *); |
static void roff_man_free1(struct roff_man *); |
static void roff_man_free1(struct roff_man *); |
|
static enum rofferr roff_manyarg(ROFF_ARGS); |
static enum rofferr roff_nr(ROFF_ARGS); |
static enum rofferr roff_nr(ROFF_ARGS); |
static enum rofferr roff_onearg(ROFF_ARGS); |
static enum rofferr roff_onearg(ROFF_ARGS); |
static enum roff_tok roff_parse(struct roff *, char *, int *, |
static enum roff_tok roff_parse(struct roff *, char *, int *, |
Line 212 static enum rofferr roff_userdef(ROFF_ARGS); |
|
Line 213 static enum rofferr roff_userdef(ROFF_ARGS); |
|
|
|
const char *__roff_name[MAN_MAX + 1] = { |
const char *__roff_name[MAN_MAX + 1] = { |
"br", "ft", "ll", "sp", |
"br", "ft", "ll", "sp", |
NULL, |
"ta", NULL, |
"ab", "ad", "af", "aln", |
"ab", "ad", "af", "aln", |
"als", "am", "am1", "ami", |
"als", "am", "am1", "ami", |
"ami1", "as", "as1", "asciify", |
"ami1", "as", "as1", "asciify", |
Line 262 const char *__roff_name[MAN_MAX + 1] = { |
|
Line 263 const char *__roff_name[MAN_MAX + 1] = { |
|
"shc", "shift", "sizes", "so", |
"shc", "shift", "sizes", "so", |
"spacewidth", "special", "spreadwarn", "ss", |
"spacewidth", "special", "spreadwarn", "ss", |
"sty", "substring", "sv", "sy", |
"sty", "substring", "sv", "sy", |
"T&", "ta", "tc", "TE", |
"T&", "tc", "TE", |
"TH", "ti", "tkf", "tl", |
"TH", "ti", "tkf", "tl", |
"tm", "tm1", "tmc", "tr", |
"tm", "tm1", "tmc", "tr", |
"track", "transchar", "trf", "trimat", |
"track", "transchar", "trf", "trimat", |
Line 322 static struct roffmac roffs[TOKEN_NONE] = { |
|
Line 323 static struct roffmac roffs[TOKEN_NONE] = { |
|
{ roff_onearg, NULL, NULL, 0 }, /* ft */ |
{ roff_onearg, NULL, NULL, 0 }, /* ft */ |
{ roff_onearg, NULL, NULL, 0 }, /* ll */ |
{ roff_onearg, NULL, NULL, 0 }, /* ll */ |
{ roff_onearg, NULL, NULL, 0 }, /* sp */ |
{ roff_onearg, NULL, NULL, 0 }, /* sp */ |
|
{ roff_manyarg, NULL, NULL, 0 }, /* ta */ |
{ NULL, NULL, NULL, 0 }, /* ROFF_MAX */ |
{ NULL, NULL, NULL, 0 }, /* ROFF_MAX */ |
{ roff_unsupp, NULL, NULL, 0 }, /* ab */ |
{ roff_unsupp, NULL, NULL, 0 }, /* ab */ |
{ roff_line_ignore, NULL, NULL, 0 }, /* ad */ |
{ roff_line_ignore, NULL, NULL, 0 }, /* ad */ |
Line 520 static struct roffmac roffs[TOKEN_NONE] = { |
|
Line 522 static struct roffmac roffs[TOKEN_NONE] = { |
|
{ roff_line_ignore, NULL, NULL, 0 }, /* sv */ |
{ roff_line_ignore, NULL, NULL, 0 }, /* sv */ |
{ roff_insec, NULL, NULL, 0 }, /* sy */ |
{ roff_insec, NULL, NULL, 0 }, /* sy */ |
{ roff_T_, NULL, NULL, 0 }, /* T& */ |
{ roff_T_, NULL, NULL, 0 }, /* T& */ |
{ roff_unsupp, NULL, NULL, 0 }, /* ta */ |
|
{ roff_unsupp, NULL, NULL, 0 }, /* tc */ |
{ roff_unsupp, NULL, NULL, 0 }, /* tc */ |
{ roff_TE, NULL, NULL, 0 }, /* TE */ |
{ roff_TE, NULL, NULL, 0 }, /* TE */ |
{ roff_TH, NULL, NULL, 0 }, /* TH */ |
{ roff_TH, NULL, NULL, 0 }, /* TH */ |
Line 2791 roff_onearg(ROFF_ARGS) |
|
Line 2792 roff_onearg(ROFF_ARGS) |
|
r->parse, ln, cp - buf->buf, |
r->parse, ln, cp - buf->buf, |
"%s ... %s", roff_name[tok], cp); |
"%s ... %s", roff_name[tok], cp); |
roff_word_alloc(r->man, ln, pos, buf->buf + pos); |
roff_word_alloc(r->man, ln, pos, buf->buf + pos); |
|
} |
|
|
|
n->flags |= NODE_LINE | NODE_VALID | NODE_ENDED; |
|
r->man->last = n; |
|
r->man->next = ROFF_NEXT_SIBLING; |
|
return ROFF_IGN; |
|
} |
|
|
|
static enum rofferr |
|
roff_manyarg(ROFF_ARGS) |
|
{ |
|
struct roff_node *n; |
|
char *sp, *ep; |
|
|
|
roff_elem_alloc(r->man, ln, ppos, tok); |
|
n = r->man->last; |
|
|
|
for (sp = ep = buf->buf + pos; *sp != '\0'; sp = ep) { |
|
while (*ep != '\0' && *ep != ' ') |
|
ep++; |
|
while (*ep == ' ') |
|
*ep++ = '\0'; |
|
roff_word_alloc(r->man, ln, sp - buf->buf, sp); |
} |
} |
|
|
n->flags |= NODE_LINE | NODE_VALID | NODE_ENDED; |
n->flags |= NODE_LINE | NODE_VALID | NODE_ENDED; |