Return to man.c CVS log | Up to [cvsweb.bsd.lv] / mandoc |
version 1.25, 2009/06/22 13:09:17 | version 1.27, 2009/07/07 09:35:40 | ||
---|---|---|---|
|
|
||
#include "libman.h" | #include "libman.h" | ||
const char *const __man_merrnames[WERRMAX] = { | |||
"invalid character", /* WNPRINT */ | |||
"system: malloc error", /* WNMEM */ | |||
"invalid manual section", /* WMSEC */ | |||
"invalid date format", /* WDATE */ | |||
"scope of prior line violated", /* WLNSCOPE */ | |||
"trailing whitespace", /* WTSPACE */ | |||
"unterminated quoted parameter", /* WTQUOTE */ | |||
"document has no body", /* WNODATA */ | |||
"document has no title/section", /* WNOTITLE */ | |||
"invalid escape sequence", /* WESCAPE */ | |||
}; | |||
const char *const __man_macronames[MAN_MAX] = { | const char *const __man_macronames[MAN_MAX] = { | ||
"br", "TH", "SH", "SS", | "br", "TH", "SH", "SS", | ||
"TP", "LP", "PP", "P", | "TP", "LP", "PP", "P", | ||
|
|
||
int | int | ||
man_err(struct man *m, int line, int pos, | man_err(struct man *m, int line, int pos, int iserr, enum merr type) | ||
int iserr, enum merr type) | |||
{ | { | ||
const char *p; | const char *p; | ||
p = NULL; | p = __man_merrnames[(int)type]; | ||
switch (type) { | |||
case (WNPRINT): | |||
p = "invalid character"; | |||
break; | |||
case (WNMEM): | |||
p = "memory exhausted"; | |||
break; | |||
case (WMSEC): | |||
p = "invalid manual section"; | |||
break; | |||
case (WDATE): | |||
p = "invalid date format"; | |||
break; | |||
case (WLNSCOPE): | |||
p = "scope of prior line violated"; | |||
break; | |||
case (WTSPACE): | |||
p = "trailing whitespace at end of line"; | |||
break; | |||
case (WTQUOTE): | |||
p = "unterminated quotation"; | |||
break; | |||
case (WNODATA): | |||
p = "document has no data"; | |||
break; | |||
case (WNOTITLE): | |||
p = "document has no title/section"; | |||
break; | |||
} | |||
assert(p); | assert(p); | ||
if (iserr) | if (iserr) |