version 1.59, 2009/03/09 13:35:09 |
version 1.63, 2009/03/12 15:55:11 |
Line 72 const char *const __mdoc_macronames[MDOC_MAX] = { |
|
Line 72 const char *const __mdoc_macronames[MDOC_MAX] = { |
|
"Fo", "Fc", "Oo", "Oc", |
"Fo", "Fc", "Oo", "Oc", |
"Bk", "Ek", "Bt", "Hf", |
"Bk", "Ek", "Bt", "Hf", |
"Fr", "Ud", "Lb", "Ap", |
"Fr", "Ud", "Lb", "Ap", |
"Lp" |
"Lp", "Lk", "Mt", "Brq", |
|
"Bro", "Brc" |
}; |
}; |
|
|
const char *const __mdoc_argnames[MDOC_ARG_MAX] = { |
const char *const __mdoc_argnames[MDOC_ARG_MAX] = { |
Line 519 parsemacro(struct mdoc *m, int ln, char *buf) |
|
Line 520 parsemacro(struct mdoc *m, int ln, char *buf) |
|
int i, c; |
int i, c; |
char mac[5]; |
char mac[5]; |
|
|
/* Comments are quickly ignored. */ |
/* Comments and empties are quickly ignored. */ |
|
|
|
if (0 == buf[1]) |
|
return(1); |
|
|
|
if (isspace((unsigned char)buf[1])) { |
|
i = 2; |
|
while (buf[i] && isspace((unsigned char)buf[i])) |
|
i++; |
|
if (0 == buf[i]) |
|
return(1); |
|
return(mdoc_perr(m, ln, 1, "invalid syntax")); |
|
} |
|
|
if (buf[1] && '\\' == buf[1]) |
if (buf[1] && '\\' == buf[1]) |
if (buf[2] && '\"' == buf[2]) |
if (buf[2] && '\"' == buf[2]) |
return(1); |
return(1); |
Line 533 parsemacro(struct mdoc *m, int ln, char *buf) |
|
Line 546 parsemacro(struct mdoc *m, int ln, char *buf) |
|
else if (isspace((unsigned char)buf[i])) |
else if (isspace((unsigned char)buf[i])) |
break; |
break; |
} |
} |
|
|
/* FIXME: be able to skip unknown macro lines! */ |
|
|
|
mac[i - 1] = 0; |
mac[i - 1] = 0; |
|
|