version 1.17, 2015/04/02 22:48:17 |
version 1.24, 2015/10/22 22:06:43 |
|
|
main(int argc, char *argv[]) |
main(int argc, char *argv[]) |
{ |
{ |
struct mparse *mp; |
struct mparse *mp; |
struct mchars *mchars; |
|
int ch, fd, i, list; |
int ch, fd, i, list; |
extern int optind; |
extern int optind; |
|
|
Line 73 main(int argc, char *argv[]) |
|
Line 72 main(int argc, char *argv[]) |
|
break; |
break; |
default: |
default: |
usage(); |
usage(); |
return((int)MANDOCLEVEL_BADARG); |
return (int)MANDOCLEVEL_BADARG; |
} |
} |
|
|
argc -= optind; |
argc -= optind; |
argv += optind; |
argv += optind; |
|
|
mchars = mchars_alloc(); |
mchars_alloc(); |
mp = mparse_alloc(MPARSE_SO, MANDOCLEVEL_BADARG, NULL, mchars, NULL); |
mp = mparse_alloc(MPARSE_SO, MANDOCLEVEL_BADARG, NULL, NULL); |
assert(mp); |
assert(mp); |
|
|
if (argc < 1) |
if (argc < 1) |
Line 96 main(int argc, char *argv[]) |
|
Line 95 main(int argc, char *argv[]) |
|
} |
} |
|
|
mparse_free(mp); |
mparse_free(mp); |
mchars_free(mchars); |
mchars_free(); |
return((int)MANDOCLEVEL_OK); |
return (int)MANDOCLEVEL_OK; |
} |
} |
|
|
static void |
static void |
|
|
static void |
static void |
pmandoc(struct mparse *mp, int fd, const char *fn, int list) |
pmandoc(struct mparse *mp, int fd, const char *fn, int list) |
{ |
{ |
struct mdoc *mdoc; |
struct roff_man *man; |
struct man *man; |
|
int line, col; |
int line, col; |
|
|
mparse_readfd(mp, fd, fn); |
mparse_readfd(mp, fd, fn); |
mparse_result(mp, &mdoc, &man, NULL); |
mparse_result(mp, &man, NULL); |
line = 1; |
line = 1; |
col = 0; |
col = 0; |
|
|
if (mdoc) |
if (man == NULL) |
pmdoc(mdoc_node(mdoc), &line, &col, list); |
|
else if (man) |
|
pman(man_node(man), &line, &col, list); |
|
else |
|
return; |
return; |
|
if (man->macroset == MACROSET_MDOC) { |
|
mdoc_validate(man); |
|
pmdoc(man->first->child, &line, &col, list); |
|
} else { |
|
man_validate(man); |
|
pman(man->first->child, &line, &col, list); |
|
} |
|
|
if ( ! list) |
if ( ! list) |
putchar('\n'); |
putchar('\n'); |