From bd5676e7016bede788b6b1ea174cce06c1a71cce Mon Sep 17 00:00:00 2001 From: midipix Date: Wed, 25 Nov 2015 10:06:38 -0500 Subject: internal header rename: perk_output.h --> perk_output_impl.h. --- src/internal/perk_output_impl.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/internal/perk_output_impl.h (limited to 'src/internal/perk_output_impl.h') diff --git a/src/internal/perk_output_impl.h b/src/internal/perk_output_impl.h new file mode 100644 index 0000000..d60d78d --- /dev/null +++ b/src/internal/perk_output_impl.h @@ -0,0 +1,31 @@ +#include + +static inline FILE * pe_output_prolog(const struct pe_common_ctx * cctx, FILE * fout, FILE ** ftmp) +{ + int fdout; + + *ftmp = (FILE *)0; + + if (fout) + return fout; + else if (!cctx) + return 0; + else if (cctx->fdout < 0) + return stdout; + + if ((fdout = dup(cctx->fdout)) < 0) + return 0; + + if ((*ftmp = fdopen(fdout,"a"))) + return *ftmp; + + close(fdout); + return 0; +} + +static inline int pe_output_epilog(int ret, FILE * f) +{ + if (f) + fclose(f); + return ret; +} -- cgit v1.2.3