Compare commits
2 commits
25b10b6b5b
...
fb9207d225
| Author | SHA1 | Date | |
|---|---|---|---|
| fb9207d225 | |||
| ad6f40b456 |
1 changed files with 6 additions and 3 deletions
|
|
@ -39,8 +39,6 @@ pub fn writer(self: *Self, buffer: []u8) Writer {
|
|||
.interface = .{
|
||||
.vtable = &.{
|
||||
.drain = drain,
|
||||
.flush = std.Io.Writer.noopFlush,
|
||||
.rebase = std.Io.Writer.failingRebase,
|
||||
},
|
||||
.buffer = buffer,
|
||||
},
|
||||
|
|
@ -49,8 +47,13 @@ pub fn writer(self: *Self, buffer: []u8) Writer {
|
|||
|
||||
fn drain(w: *std.Io.Writer, data_: []const []const u8, splat: usize) std.Io.Writer.Error!usize {
|
||||
const writer_: *Self.Writer = @alignCast(@fieldParentPtr("interface", w));
|
||||
if (data_.len == 0) return 0;
|
||||
var written: usize = 0;
|
||||
const buffered = w.buffered();
|
||||
if (buffered.len != 0) {
|
||||
const n = try writer_.subprocess.write(buffered);
|
||||
written += w.consume(n);
|
||||
}
|
||||
if (data_.len == 0) return written;
|
||||
for (data_[0 .. data_.len - 1]) |bytes| {
|
||||
written += try writer_.subprocess.write(bytes);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue