=================================================================== RCS file: /cvs/mandoc/cgi.c,v retrieving revision 1.109 retrieving revision 1.113 diff -u -p -r1.109 -r1.113 --- mandoc/cgi.c 2015/10/06 18:32:19 1.109 +++ mandoc/cgi.c 2015/11/05 17:47:51 1.113 @@ -1,4 +1,4 @@ -/* $Id: cgi.c,v 1.109 2015/10/06 18:32:19 schwarze Exp $ */ +/* $Id: cgi.c,v 1.113 2015/11/05 17:47:51 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" @@ -375,15 +377,13 @@ resp_begin_html(int code, const char *msg) "\n" "\n" "\n" - "\n" - "\n" "%s\n" "\n" "\n" "\n", - CSS_DIR, CSS_DIR, CUSTOMIZE_TITLE); + CSS_DIR, CUSTOMIZE_TITLE); } static void @@ -819,7 +819,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 +829,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 +850,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); }