version 1.23, 2008/11/30 20:53:34 |
version 1.25, 2008/11/30 23:05:57 |
Line 518 roffparse(struct rofftree *tree, char *buf) |
|
Line 518 roffparse(struct rofftree *tree, char *buf) |
|
char *argv[ROFF_MAXARG]; |
char *argv[ROFF_MAXARG]; |
char **argvp; |
char **argvp; |
|
|
|
if (0 != *buf && 0 != *(buf + 1) && 0 != *(buf + 2)) |
|
if (0 == strncmp(buf, ".\\\"", 3)) |
|
return(1); |
|
|
if (ROFF_MAX == (tok = rofffindtok(buf + 1))) { |
if (ROFF_MAX == (tok = rofffindtok(buf + 1))) { |
roff_err(tree, buf + 1, "bogus line macro"); |
roff_err(tree, buf + 1, "bogus line macro"); |
return(0); |
return(0); |
Line 525 roffparse(struct rofftree *tree, char *buf) |
|
Line 529 roffparse(struct rofftree *tree, char *buf) |
|
roff_err(tree, buf + 1, "unsupported macro `%s'", |
roff_err(tree, buf + 1, "unsupported macro `%s'", |
toknames[tok]); |
toknames[tok]); |
return(0); |
return(0); |
} else if (ROFF_COMMENT == tokens[tok].type) |
} |
return(1); |
|
|
assert(ROFF___ != tok); |
if ( ! roffargs(tree, tok, buf, argv)) |
if ( ! roffargs(tree, tok, buf, argv)) |
return(0); |
return(0); |
|
|
Line 979 roff_layout(ROFFCALL_ARGS) |
|
Line 983 roff_layout(ROFFCALL_ARGS) |
|
if (NULL == *argv) |
if (NULL == *argv) |
return(1); |
return(1); |
|
|
if ( ! (*tree->cb.roffin)(tree->arg, tok, 0, argcp, argvp)) |
if ( ! (*tree->cb.roffin)(tree->arg, tok, argcp, argvp)) |
return(0); |
return(0); |
|
|
if ( ! (ROFF_PARSED & tokens[tok].flags)) { |
if ( ! (ROFF_PARSED & tokens[tok].flags)) { |
Line 1075 roff_text(ROFFCALL_ARGS) |
|
Line 1079 roff_text(ROFFCALL_ARGS) |
|
argcp[i] = ROFF_ARGMAX; |
argcp[i] = ROFF_ARGMAX; |
argvp[i] = NULL; |
argvp[i] = NULL; |
|
|
if ( ! (*tree->cb.roffin)(tree->arg, tok, 1, argcp, argvp)) |
if ( ! (*tree->cb.roffin)(tree->arg, tok, argcp, argvp)) |
return(0); |
return(0); |
|
|
if ( ! (ROFF_PARSED & tokens[tok].flags)) { |
if ( ! (ROFF_PARSED & tokens[tok].flags)) { |