authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-10-15 17:10:06-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-10-15 17:10:06-04:00
logfca1d53625281f763f628fc8b2f41d22bef29c57
tree92c5d7e5800a03734551ba091bdf2da28abb57c9
parentfaf64b5d0fa53a4fcc5ac24aa2aada502937808b

std.io: fix bug when writing large buffer


1 files changed, 4 insertions(+), 5 deletions(-)

std/io.zig+4-5
......@@ -170,7 +170,8 @@ pub const OutStream = struct {
170170 if (self.index == 0)
171171 return;
172172
173 return self.unbufferedWrite(self.buffer[0..self.index]);
173 %return self.unbufferedWrite(self.buffer[0..self.index]);
174 self.index = 0;
174175 }
175176
176177 pub fn close(self: &OutStream) {
......@@ -216,12 +217,10 @@ pub const OutStream = struct {
216217
217218 fn unbufferedWrite(self: &OutStream, bytes: []const u8) -> %void {
218219 if (is_posix) {
219 %return os.posixWrite(self.fd, self.buffer[0..self.index]);
220 self.index = 0;
220 %return os.posixWrite(self.fd, bytes);
221221 } else if (is_windows) {
222222 const handle = %return self.getHandle();
223 %return os.windowsWrite(handle, self.buffer[0..self.index]);
224 self.index = 0;
223 %return os.windowsWrite(handle, bytes);
225224 } else {
226225 @compileError("Unsupported OS");
227226 }