| ... | @@ -45,10 +45,14 @@ pub fn OutStream(comptime WriteError: type) type { | ... | @@ -45,10 +45,14 @@ pub fn OutStream(comptime WriteError: type) type { |
| 45 | } | 45 | } |
| 46 | | 46 | |
| 47 | pub fn writeByteNTimes(self: *Self, byte: u8, n: usize) Error!void { | 47 | pub fn writeByteNTimes(self: *Self, byte: u8, n: usize) Error!void { |
| 48 | const slice = @as(*const [1]u8, &byte)[0..]; | 48 | var bytes: [256]u8 = undefined; |
| 49 | var i: usize = 0; | 49 | mem.set(u8, bytes[0..], byte); |
| 50 | while (i < n) : (i += 1) { | 50 | |
| 51 | try self.writeFn(self, slice); | 51 | var remaining: usize = n; |
| | 52 | while (remaining > 0) { |
| | 53 | const to_write = std.math.min(remaining, bytes.len); |
| | 54 | try self.writeFn(self, bytes[0..to_write]); |
| | 55 | remaining -= to_write; |
| 52 | } | 56 | } |
| 53 | } | 57 | } |
| 54 | | 58 | |