zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit fca1d53625281f763f628fc8b2f41d22bef29c57 (tree)
parent faf64b5d0fa53a4fcc5ac24aa2aada502937808b
Author: Andrew Kelley <superjoe30@gmail.com>
Date:   Sun, 15 Oct 2017 17:10:06 -0400

std.io: fix bug when writing large buffer

Diffstat:
Mstd/io.zig | 9++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/std/io.zig b/std/io.zig @@ -170,7 +170,8 @@ pub const OutStream = struct { if (self.index == 0) return; - return self.unbufferedWrite(self.buffer[0..self.index]); + %return self.unbufferedWrite(self.buffer[0..self.index]); + self.index = 0; } pub fn close(self: &OutStream) { @@ -216,12 +217,10 @@ pub const OutStream = struct { fn unbufferedWrite(self: &OutStream, bytes: []const u8) -> %void { if (is_posix) { - %return os.posixWrite(self.fd, self.buffer[0..self.index]); - self.index = 0; + %return os.posixWrite(self.fd, bytes); } else if (is_windows) { const handle = %return self.getHandle(); - %return os.windowsWrite(handle, self.buffer[0..self.index]); - self.index = 0; + %return os.windowsWrite(handle, bytes); } else { @compileError("Unsupported OS"); }