summaryrefslogtreecommitdiff
path: root/source/tools/mudraw.c
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2017-11-08 16:58:40 +0000
committerRobin Watts <robin.watts@artifex.com>2017-11-08 17:52:57 +0000
commit68dd6525d7b4d14b396a86448283dd4b9b625970 (patch)
treeec2b206f0d7c4d02fc7a4f8580929c153c976a7a /source/tools/mudraw.c
parent8b88d6f3fe9f80a11408d3e0773cbe290b1a4dba (diff)
downloadmupdf-68dd6525d7b4d14b396a86448283dd4b9b625970.tar.xz
Bug 698460: Mudraw: Set stdout to binary on windows
Diffstat (limited to 'source/tools/mudraw.c')
-rw-r--r--source/tools/mudraw.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/tools/mudraw.c b/source/tools/mudraw.c
index bc17016c..cb67eccb 100644
--- a/source/tools/mudraw.c
+++ b/source/tools/mudraw.c
@@ -23,6 +23,12 @@ int gettimeofday(struct timeval *tv, struct timezone *tz);
#include <sys/time.h>
#endif
+/* Allow for windows stdout being made binary */
+#ifdef _WIN32
+#include <io.h>
+#include <fcntl.h>
+#endif
+
/* Enable for helpful threading debug */
/* #define DEBUG_THREADS(A) do { printf A; fflush(stdout); } while (0) */
#define DEBUG_THREADS(A) do { } while (0)
@@ -1837,7 +1843,14 @@ int mudraw_main(int argc, char **argv)
out = fz_new_output_with_path(ctx, output, 0);
}
else
+ {
+#ifdef _WIN32
+ /* Windows specific code to make stdout binary. */
+ if (output_format != OUT_TEXT && output_format != OUT_STEXT && output_format != OUT_HTML && output_format != OUT_XHTML && output_format != OUT_TRACE)
+ setmode(fileno(stdout), O_BINARY);
+#endif
out = fz_stdout(ctx);
+ }
if (!output_file_per_page)
file_level_headers(ctx);