From c837ae17078f26cffc2e3d5c45324587c584d7b0 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 15 Oct 2017 18:25:39 -0400 Subject: [PATCH] set stdout and stderr to binary mode on windows --- src/os.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/os.cpp b/src/os.cpp index fb6beca8d10a9b842d464381e53f98349489f345..03eed084bb0478da2a34fb948d7e26393d53e756 100644 --- a/src/os.cpp +++ b/src/os.cpp @@ -25,6 +25,7 @@ #include #include +#include typedef SSIZE_T ssize_t; #else @@ -59,7 +60,6 @@ static clock_serv_t cclock; // implementation in the zig standard library and then this code all gets // deleted when we self-host. it works for now. - #if defined(ZIG_OS_POSIX) static void populate_termination(Termination *term, int status) { if (WIFEXITED(status)) { @@ -886,6 +886,10 @@ int os_make_dir(Buf *path) { int os_init(void) { srand((unsigned)time(NULL)); +#if defined(ZIG_OS_WINDOWS) + _setmode(fileno(stdout), _O_BINARY); + _setmode(fileno(stderr), _O_BINARY); +#endif #if defined(ZIG_OS_WINDOWS) unsigned __int64 frequency; if (QueryPerformanceFrequency((LARGE_INTEGER*) &frequency)) { -- 2.54.0