fix std.io.OutStream.close for windows

master
Andrew Kelley 2017-10-09 16:31:03 -04:00
parent aa78827db2
commit 1f28d641c0
1 changed files with 10 additions and 4 deletions

View File

@ -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;
}
}