version 1.21, 2008/11/30 18:50:44 |
version 1.23, 2008/11/30 20:53:34 |
Line 307 const char *const toknamesp[ROFF_MAX] = { |
|
Line 307 const char *const toknamesp[ROFF_MAX] = { |
|
"Ic", "In", "Li", "Nd", |
"Ic", "In", "Li", "Nd", |
"Nm", "Op", "Ot", "Pa", |
"Nm", "Op", "Ot", "Pa", |
"Rv", "St", "Va", "Vt", |
"Rv", "St", "Va", "Vt", |
|
/* LINTED */ |
"Xr", "\%A", "\%B", "\%D", |
"Xr", "\%A", "\%B", "\%D", |
|
/* LINTED */ |
"\%I", "\%J", "\%N", "\%O", |
"\%I", "\%J", "\%N", "\%O", |
|
/* LINTED */ |
"\%P", "\%R", "\%T", "\%V", |
"\%P", "\%R", "\%T", "\%V", |
"Ac", "Ao", "Aq", "At", |
"Ac", "Ao", "Aq", "At", |
"Bc", "Bf", "Bo", "Bq", |
"Bc", "Bf", "Bo", "Bq", |
|
|
rofffindtok(const char *buf) |
rofffindtok(const char *buf) |
{ |
{ |
char token[4]; |
char token[4]; |
size_t i; |
int i; |
|
|
for (i = 0; *buf && ! isspace(*buf) && i < 3; i++, buf++) |
for (i = 0; *buf && ! isspace(*buf) && i < 3; i++, buf++) |
token[i] = *buf; |
token[i] = *buf; |
Line 976 roff_layout(ROFFCALL_ARGS) |
|
Line 979 roff_layout(ROFFCALL_ARGS) |
|
if (NULL == *argv) |
if (NULL == *argv) |
return(1); |
return(1); |
|
|
if ( ! (*tree->cb.roffin)(tree->arg, tok, argcp, argvp)) |
if ( ! (*tree->cb.roffin)(tree->arg, tok, 0, argcp, argvp)) |
return(0); |
return(0); |
|
|
if ( ! (ROFF_PARSED & tokens[tok].flags)) { |
if ( ! (ROFF_PARSED & tokens[tok].flags)) { |
Line 1022 roff_layout(ROFFCALL_ARGS) |
|
Line 1025 roff_layout(ROFFCALL_ARGS) |
|
|
|
assert(i > 0); |
assert(i > 0); |
if ( ! roffispunct(argv[--i])) |
if ( ! roffispunct(argv[--i])) |
return(1); |
return((*tree->cb.roffout)(tree->arg, tok)); |
|
|
while (i >= 0 && roffispunct(argv[i])) |
while (i >= 0 && roffispunct(argv[i])) |
i--; |
i--; |
Line 1030 roff_layout(ROFFCALL_ARGS) |
|
Line 1033 roff_layout(ROFFCALL_ARGS) |
|
assert(0 != i); |
assert(0 != i); |
i++; |
i++; |
|
|
|
/* LINTED */ |
while (argv[i]) |
while (argv[i]) |
if ( ! (*tree->cb.roffdata)(tree->arg, 0, argv[i++])) |
if ( ! (*tree->cb.roffdata)(tree->arg, 0, argv[i++])) |
return(0); |
return(0); |
Line 1071 roff_text(ROFFCALL_ARGS) |
|
Line 1075 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, argcp, argvp)) |
if ( ! (*tree->cb.roffin)(tree->arg, tok, 1, argcp, argvp)) |
return(0); |
return(0); |
|
|
if ( ! (ROFF_PARSED & tokens[tok].flags)) { |
if ( ! (ROFF_PARSED & tokens[tok].flags)) { |
Line 1148 roff_text(ROFFCALL_ARGS) |
|
Line 1152 roff_text(ROFFCALL_ARGS) |
|
assert(0 != i); |
assert(0 != i); |
i++; |
i++; |
|
|
|
/* LINTED */ |
while (argv[i]) |
while (argv[i]) |
if ( ! (*tree->cb.roffdata)(tree->arg, 0, argv[i++])) |
if ( ! (*tree->cb.roffdata)(tree->arg, 0, argv[i++])) |
return(0); |
return(0); |