version 1.12, 2008/11/27 16:54:58 |
version 1.13, 2008/11/27 17:27:50 |
Line 451 roffargs(const struct rofftree *tree, |
|
Line 451 roffargs(const struct rofftree *tree, |
|
while (*buf && '\"' != *buf) |
while (*buf && '\"' != *buf) |
buf++; |
buf++; |
if (0 == *buf) { |
if (0 == *buf) { |
roff_err(tree, p, argv[i], "unclosed " |
roff_err(tree, argv[i], "unclosed " |
"quote in argument " |
"quote in argument " |
"list for `%s'", |
"list for `%s'", |
toknames[tok]); |
toknames[tok]); |
Line 471 roffargs(const struct rofftree *tree, |
|
Line 471 roffargs(const struct rofftree *tree, |
|
|
|
assert(i > 0); |
assert(i > 0); |
if (ROFF_MAXARG == i && *buf) { |
if (ROFF_MAXARG == i && *buf) { |
roff_err(tree, p, p, "too many arguments for `%s'", toknames |
roff_err(tree, p, "too many arguments for `%s'", toknames |
[tok]); |
[tok]); |
return(0); |
return(0); |
} |
} |
Line 898 roff_layout(ROFFCALL_ARGS) |
|
Line 898 roff_layout(ROFFCALL_ARGS) |
|
|
|
if (ROFF_EXIT == type) { |
if (ROFF_EXIT == type) { |
roffnode_free(tok, tree); |
roffnode_free(tok, tree); |
return((*tree->cb->roffblkout)(tok)); |
return((*tree->cb->roffblkout)(tree->args, tok)); |
} |
} |
|
|
i = 0; |
i = 0; |
Line 920 roff_layout(ROFFCALL_ARGS) |
|
Line 920 roff_layout(ROFFCALL_ARGS) |
|
if (NULL == roffnode_new(tok, tree)) |
if (NULL == roffnode_new(tok, tree)) |
return(0); |
return(0); |
|
|
if ( ! (*tree->cb->roffin)(tok, argcp, argvp)) |
if ( ! (*tree->cb->roffin)(tree->args, tok, argcp, argvp)) |
return(0); |
return(0); |
|
|
if ( ! (ROFF_PARSED & tokens[tok].flags)) { |
if ( ! (ROFF_PARSED & tokens[tok].flags)) { |
|
|
/* TODO: print all tokens. */ |
/* TODO: print all tokens. */ |
|
|
if ( ! ((*tree->cb->roffout)(tok))) |
if ( ! ((*tree->cb->roffout)(tree->args, tok))) |
return(0); |
return(0); |
return((*tree->cb->roffblkin)(tok)); |
return((*tree->cb->roffblkin)(tree->args, tok)); |
} |
} |
|
|
while (*argv) { |
while (*argv) { |
Line 950 roff_layout(ROFFCALL_ARGS) |
|
Line 950 roff_layout(ROFFCALL_ARGS) |
|
argv++; |
argv++; |
} |
} |
|
|
if ( ! ((*tree->cb->roffout)(tok))) |
if ( ! ((*tree->cb->roffout)(tree->args, tok))) |
return(0); |
return(0); |
|
|
return((*tree->cb->roffblkin)(tok)); |
return((*tree->cb->roffblkin)(tree->args, tok)); |
} |
} |
|
|
|
|
Line 986 roff_text(ROFFCALL_ARGS) |
|
Line 986 roff_text(ROFFCALL_ARGS) |
|
argcp[i] = ROFF_ARGMAX; |
argcp[i] = ROFF_ARGMAX; |
argvp[i] = NULL; |
argvp[i] = NULL; |
|
|
if ( ! (*tree->cb->roffin)(tok, argcp, argvp)) |
if ( ! (*tree->cb->roffin)(tree->args, tok, argcp, argvp)) |
return(0); |
return(0); |
|
|
if ( ! (ROFF_PARSED & tokens[tok].flags)) { |
if ( ! (ROFF_PARSED & tokens[tok].flags)) { |
|
|
/* TODO: print all tokens. */ |
/* TODO: print all tokens. */ |
|
|
return((*tree->cb->roffout)(tok)); |
return((*tree->cb->roffout)(tree->args, tok)); |
} |
} |
|
|
while (*argv) { |
while (*argv) { |
Line 1014 roff_text(ROFFCALL_ARGS) |
|
Line 1014 roff_text(ROFFCALL_ARGS) |
|
argv++; |
argv++; |
} |
} |
|
|
return((*tree->cb->roffout)(tok)); |
return((*tree->cb->roffout)(tree->args, tok)); |
} |
} |
|
|
|
|