From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from localhost (fantadrom.bsd.lv [local]); by fantadrom.bsd.lv (OpenSMTPD) with ESMTPA id 11f50e78; for ; Mon, 19 Oct 2015 14:51:52 -0500 (EST) Date: Mon, 19 Oct 2015 14:51:52 -0500 (EST) Message-Id: <2169573647074393365.enqueue@fantadrom.bsd.lv> X-Mailinglist: mdocml-source Reply-To: source@mdocml.bsd.lv MIME-Version: 1.0 From: schwarze@mdocml.bsd.lv To: source@mdocml.bsd.lv Subject: mdocml: Simplify, no functional change: Delete the outmdoc, outman, and X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 Log Message: ----------- Simplify, no functional change: Delete the outmdoc, outman, and outfree function pointers. Modified Files: -------------- mdocml: main.c Revision Data ------------- Index: main.c =================================================================== RCS file: /home/cvs/mdocml/mdocml/main.c,v retrieving revision 1.249 retrieving revision 1.250 diff -Lmain.c -Lmain.c -u -p -r1.249 -r1.250 --- main.c +++ main.c @@ -59,10 +59,6 @@ enum outmode { OUTMODE_ONE }; -typedef void (*out_mdoc)(void *, const struct roff_man *); -typedef void (*out_man)(void *, const struct roff_man *); -typedef void (*out_free)(void *); - enum outt { OUTT_ASCII = 0, /* -Tascii */ OUTT_LOCALE, /* -Tlocale */ @@ -80,9 +76,6 @@ struct curparse { enum mandoclevel wlevel; /* ignore messages below this */ int wstop; /* stop after a file with a warning */ enum outt outtype; /* which output to use */ - out_mdoc outmdoc; /* mdoc output ptr */ - out_man outman; /* man output ptr */ - out_free outfree; /* free output ptr */ void *outdata; /* data for output */ struct manoutput *outopts; /* output options */ }; @@ -473,8 +466,22 @@ main(int argc, char *argv[]) mparse_reset(curp.mp); } - if (curp.outfree) - (*curp.outfree)(curp.outdata); + switch (curp.outtype) { + case OUTT_HTML: + html_free(curp.outdata); + break; + case OUTT_UTF8: + case OUTT_LOCALE: + case OUTT_ASCII: + ascii_free(curp.outdata); + break; + case OUTT_PDF: + case OUTT_PS: + pspdf_free(curp.outdata); + break; + default: + break; + } mparse_free(curp.mp); mchars_free(); @@ -657,72 +664,81 @@ parse(struct curparse *curp, int fd, con /* If unset, allocate output dev now (if applicable). */ - if ( ! (curp->outman && curp->outmdoc)) { + if (curp->outdata == NULL) { switch (curp->outtype) { case OUTT_HTML: curp->outdata = html_alloc(curp->outopts); - curp->outfree = html_free; break; case OUTT_UTF8: curp->outdata = utf8_alloc(curp->outopts); - curp->outfree = ascii_free; break; case OUTT_LOCALE: curp->outdata = locale_alloc(curp->outopts); - curp->outfree = ascii_free; break; case OUTT_ASCII: curp->outdata = ascii_alloc(curp->outopts); - curp->outfree = ascii_free; break; case OUTT_PDF: curp->outdata = pdf_alloc(curp->outopts); - curp->outfree = pspdf_free; break; case OUTT_PS: curp->outdata = ps_alloc(curp->outopts); - curp->outfree = pspdf_free; break; default: break; } + } + mparse_result(curp->mp, &man, NULL); + + /* Execute the out device, if it exists. */ + + if (man == NULL) + return; + if (man->macroset == MACROSET_MDOC) { switch (curp->outtype) { case OUTT_HTML: - curp->outman = html_man; - curp->outmdoc = html_mdoc; + html_mdoc(curp->outdata, man); break; case OUTT_TREE: - curp->outman = tree_man; - curp->outmdoc = tree_mdoc; + tree_mdoc(curp->outdata, man); break; case OUTT_MAN: - curp->outmdoc = man_mdoc; - curp->outman = man_man; + man_mdoc(curp->outdata, man); break; case OUTT_PDF: case OUTT_ASCII: case OUTT_UTF8: case OUTT_LOCALE: case OUTT_PS: - curp->outman = terminal_man; - curp->outmdoc = terminal_mdoc; + terminal_mdoc(curp->outdata, man); + break; + default: + break; + } + } + if (man->macroset == MACROSET_MAN) { + switch (curp->outtype) { + case OUTT_HTML: + html_man(curp->outdata, man); + break; + case OUTT_TREE: + tree_man(curp->outdata, man); + break; + case OUTT_MAN: + man_man(curp->outdata, man); + break; + case OUTT_PDF: + case OUTT_ASCII: + case OUTT_UTF8: + case OUTT_LOCALE: + case OUTT_PS: + terminal_man(curp->outdata, man); break; default: break; } } - - mparse_result(curp->mp, &man, NULL); - - /* Execute the out device, if it exists. */ - - if (man == NULL) - return; - if (curp->outmdoc != NULL && man->macroset == MACROSET_MDOC) - (*curp->outmdoc)(curp->outdata, man); - if (curp->outman != NULL && man->macroset == MACROSET_MAN) - (*curp->outman)(curp->outdata, man); } static void -- To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv