From 1f28d641c054b8abd3eca914df6dde3ee7866ea3 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 9 Oct 2017 16:31:03 -0400 Subject: [PATCH] fix std.io.OutStream.close for windows --- std/io.zig | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/std/io.zig b/std/io.zig index 72cc85e437..3774abb49b 100644 --- a/std/io.zig +++ b/std/io.zig @@ -107,7 +107,7 @@ pub const OutStream = struct { } else if (is_windows) { @compileError("TODO: windows OutStream.openMode"); } else { - @compileError("Unsupported OS"); + unreachable; } } @@ -174,8 +174,14 @@ pub const OutStream = struct { } pub fn close(self: &OutStream) { - assert(self.index == 0); - os.posixClose(self.fd); + assert(self.index == 0); // unflushed buffer + if (is_posix) { + os.posixClose(self.fd); + } else if (is_windows) { + os.windowsClose(%%self.getHandle()); + } else { + unreachable; + } } pub fn isTty(self: &OutStream) -> %bool { @@ -188,7 +194,7 @@ pub const OutStream = struct { } else if (is_windows) { return os.windowsIsTty(%return self.getHandle()); } else { - @compileError("Unsupported OS"); + unreachable; } }