int main(int argc, char *argv[]) { struct mparse *mp; struct mchars *mchars; int ch, fd, i, list; extern int optind; if (argc < 1) progname = "demandoc"; else if ((progname = strrchr(argv[0], '/')) == NULL) progname = argv[0]; else ++progname; mp = NULL; list = 0; while (-1 != (ch = getopt(argc, argv, "ikm:pw"))) switch (ch) { case ('i'): /* FALLTHROUGH */ case ('k'): /* FALLTHROUGH */ case ('m'): /* FALLTHROUGH */ case ('p'): break; case ('w'): list = 1; break; default: usage(); return((int)MANDOCLEVEL_BADARG); } argc -= optind; argv += optind; mchars = mchars_alloc(); mp = mparse_alloc(MPARSE_SO, MANDOCLEVEL_BADARG, NULL, mchars, NULL); assert(mp); if (argc < 1) pmandoc(mp, STDIN_FILENO, "<stdin>", list); for (i = 0; i < argc; i++) { mparse_reset(mp); if (mparse_open(mp, &fd, argv[i]) != MANDOCLEVEL_OK) { perror(argv[i]); continue; } pmandoc(mp, fd, argv[i], list); } mparse_free(mp); mchars_free(mchars); return((int)MANDOCLEVEL_OK); }
int main(int argc, char *argv[]) { struct mparse *mp; int ch, i, list; extern int optind; progname = strrchr(argv[0], '/'); if (progname == NULL) progname = argv[0]; else ++progname; mp = NULL; list = 0; while (-1 != (ch = getopt(argc, argv, "ikm:pw"))) switch (ch) { case ('i'): /* FALLTHROUGH */ case ('k'): /* FALLTHROUGH */ case ('m'): /* FALLTHROUGH */ case ('p'): break; case ('w'): list = 1; break; default: usage(); return((int)MANDOCLEVEL_BADARG); } argc -= optind; argv += optind; mp = mparse_alloc(MPARSE_SO, MANDOCLEVEL_FATAL, NULL, NULL); assert(mp); if (0 == argc) pmandoc(mp, STDIN_FILENO, "<stdin>", list); for (i = 0; i < argc; i++) { mparse_reset(mp); pmandoc(mp, -1, argv[i], list); } mparse_free(mp); return((int)MANDOCLEVEL_OK); }