=================================================================== RCS file: /cvs/mandoc/cgi.c,v retrieving revision 1.109 retrieving revision 1.112 diff -u -p -r1.109 -r1.112 --- mandoc/cgi.c 2015/10/06 18:32:19 1.109 +++ mandoc/cgi.c 2015/10/22 22:06:43 1.112 @@ -1,4 +1,4 @@ -/* $Id: cgi.c,v 1.109 2015/10/06 18:32:19 schwarze Exp $ */ +/* $Id: cgi.c,v 1.112 2015/10/22 22:06:43 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons * Copyright (c) 2014, 2015 Ingo Schwarze @@ -33,6 +33,8 @@ #include "mandoc_aux.h" #include "mandoc.h" #include "roff.h" +#include "mdoc.h" +#include "man.h" #include "main.h" #include "manconf.h" #include "mansearch.h" @@ -819,7 +821,6 @@ format(const struct req *req, const char *file) { struct manoutput conf; struct mparse *mp; - struct mchars *mchars; struct roff_man *man; void *vp; int fd; @@ -830,9 +831,8 @@ format(const struct req *req, const char *file) return; } - mchars = mchars_alloc(); - mp = mparse_alloc(MPARSE_SO, MANDOCLEVEL_BADARG, NULL, - mchars, req->q.manpath); + mchars_alloc(); + mp = mparse_alloc(MPARSE_SO, MANDOCLEVEL_BADARG, NULL, req->q.manpath); mparse_readfd(mp, fd, file); close(fd); @@ -852,20 +852,23 @@ format(const struct req *req, const char *file) req->q.manpath, file); pg_error_internal(); mparse_free(mp); - mchars_free(mchars); + mchars_free(); return; } - vp = html_alloc(mchars, &conf); + vp = html_alloc(&conf); - if (man->macroset == MACROSET_MDOC) + if (man->macroset == MACROSET_MDOC) { + mdoc_validate(man); html_mdoc(vp, man); - else + } else { + man_validate(man); html_man(vp, man); + } html_free(vp); mparse_free(mp); - mchars_free(mchars); + mchars_free(); free(conf.man); }