-/* $Id: demandoc.c,v 1.19 2015/04/18 16:34:25 schwarze Exp $ */
+/* $Id: demandoc.c,v 1.28 2017/01/10 13:47:00 schwarze Exp $ */
/*
* Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
*
#include <assert.h>
#include <ctype.h>
-#include <getopt.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main(int argc, char *argv[])
{
struct mparse *mp;
- struct mchars *mchars;
int ch, fd, i, list;
extern int optind;
break;
default:
usage();
- return((int)MANDOCLEVEL_BADARG);
+ return (int)MANDOCLEVEL_BADARG;
}
argc -= optind;
argv += optind;
- mchars = mchars_alloc();
- mp = mparse_alloc(MPARSE_SO, MANDOCLEVEL_BADARG, NULL, mchars, NULL);
+ mchars_alloc();
+ mp = mparse_alloc(MPARSE_SO, MANDOCLEVEL_BADARG, NULL, NULL);
assert(mp);
if (argc < 1)
for (i = 0; i < argc; i++) {
mparse_reset(mp);
- if (mparse_open(mp, &fd, argv[i]) != MANDOCLEVEL_OK) {
+ if ((fd = mparse_open(mp, argv[i])) == -1) {
perror(argv[i]);
continue;
}
}
mparse_free(mp);
- mchars_free(mchars);
- return((int)MANDOCLEVEL_OK);
+ mchars_free();
+ return (int)MANDOCLEVEL_OK;
}
static void
int line, col;
mparse_readfd(mp, fd, fn);
+ close(fd);
mparse_result(mp, &man, NULL);
line = 1;
col = 0;
if (man == NULL)
return;
- if (man->macroset == MACROSET_MDOC)
- pmdoc(mdoc_node(man), &line, &col, list);
- else
- pman(man_node(man), &line, &col, list);
+ 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)
putchar('\n');
{
for ( ; p; p = p->next) {
- if (MDOC_LINE & p->flags)
+ if (NODE_LINE & p->flags)
pline(p->line, line, col, list);
if (ROFFT_TEXT == p->type)
pstring(p->string, p->pos, col, list);
{
for ( ; p; p = p->next) {
- if (MAN_LINE & p->flags)
+ if (NODE_LINE & p->flags)
pline(p->line, line, col, list);
if (ROFFT_TEXT == p->type)
pstring(p->string, p->pos, col, list);