version 1.296, 2017/05/04 17:48:29 |
version 1.297, 2017/05/05 02:06:19 |
Line 182 static enum rofferr roff_line_ignore(ROFF_ARGS); |
|
Line 182 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_nr(ROFF_ARGS); |
static enum rofferr roff_nr(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 *, |
int, int); |
int, int); |
static enum rofferr roff_parsetext(struct buf *, int, int *); |
static enum rofferr roff_parsetext(struct buf *, int, int *); |
Line 210 static enum rofferr roff_userdef(ROFF_ARGS); |
|
Line 211 static enum rofferr roff_userdef(ROFF_ARGS); |
|
#define ROFFNUM_WHITE (1 << 1) /* Skip whitespace in roff_evalnum(). */ |
#define ROFFNUM_WHITE (1 << 1) /* Skip whitespace in roff_evalnum(). */ |
|
|
const char *__roff_name[MAN_MAX + 1] = { |
const char *__roff_name[MAN_MAX + 1] = { |
"br", NULL, |
"br", "ft", 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 309 const char *__roff_name[MAN_MAX + 1] = { |
|
Line 310 const char *__roff_name[MAN_MAX + 1] = { |
|
"B", "I", "IR", "RI", |
"B", "I", "IR", "RI", |
"sp", "nf", "fi", |
"sp", "nf", "fi", |
"RE", "RS", "DT", "UC", |
"RE", "RS", "DT", "UC", |
"PD", "AT", "in", "ft", |
"PD", "AT", "in", |
"OP", "EX", "EE", "UR", |
"OP", "EX", "EE", "UR", |
"UE", "ll", NULL |
"UE", "ll", NULL |
}; |
}; |
Line 317 const char *const *roff_name = __roff_name; |
|
Line 318 const char *const *roff_name = __roff_name; |
|
|
|
static struct roffmac roffs[TOKEN_NONE] = { |
static struct roffmac roffs[TOKEN_NONE] = { |
{ roff_br, NULL, NULL, 0 }, /* br */ |
{ roff_br, NULL, NULL, 0 }, /* br */ |
|
{ roff_onearg, NULL, NULL, 0 }, /* ft */ |
{ 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 2763 roff_TS(ROFF_ARGS) |
|
Line 2765 roff_TS(ROFF_ARGS) |
|
r->first_tbl = r->last_tbl = tbl; |
r->first_tbl = r->last_tbl = tbl; |
|
|
r->tbl = r->last_tbl = tbl; |
r->tbl = r->last_tbl = tbl; |
|
return ROFF_IGN; |
|
} |
|
|
|
static enum rofferr |
|
roff_onearg(ROFF_ARGS) |
|
{ |
|
struct roff_node *n; |
|
char *cp; |
|
|
|
roff_elem_alloc(r->man, ln, ppos, tok); |
|
n = r->man->last; |
|
|
|
cp = buf->buf + pos; |
|
if (*cp != '\0') { |
|
while (*cp != '\0' && *cp != ' ') |
|
cp++; |
|
while (*cp == ' ') |
|
*cp++ = '\0'; |
|
if (*cp != '\0') |
|
mandoc_vmsg(MANDOCERR_ARG_EXCESS, |
|
r->parse, ln, cp - buf->buf, |
|
"%s ... %s", roff_name[tok], cp); |
|
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; |
return ROFF_IGN; |
} |
} |
|
|