diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2020-03-13 11:31:11 -0400 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-03-13 11:31:11 -0400 |
| commit | 2dd920ee394d06b4a215720b6bf7f355dacfd96f (patch) | |
| tree | 2824dec01eff04baacb30d724fdb8bb00ed14c0a /lib/std/fifo.zig | |
| parent | a9297f22671dff800821ff940395411f2adb8582 (diff) | |
| parent | 4aae55b4ccf44fa3c2c2a81a6a34f3c898dece30 (diff) | |
| download | zig-2dd920ee394d06b4a215720b6bf7f355dacfd96f.tar.gz zig-2dd920ee394d06b4a215720b6bf7f355dacfd96f.zip | |
Merge branch 'format-stream' of https://github.com/fengb/zig into fengb-format-stream
Diffstat (limited to 'lib/std/fifo.zig')
| -rw-r--r-- | lib/std/fifo.zig | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/std/fifo.zig b/lib/std/fifo.zig index 85a0e4c9d2..65ddc65d3c 100644 --- a/lib/std/fifo.zig +++ b/lib/std/fifo.zig @@ -294,7 +294,19 @@ pub fn LinearFifo( pub usingnamespace if (T == u8) struct { pub fn print(self: *Self, comptime format: []const u8, args: var) !void { - return std.fmt.format(self, error{OutOfMemory}, Self.write, format, args); + // TODO: maybe expose this stream as a method? + const FifoStream = struct { + const OutStream = std.io.OutStream(*Self, Error, write); + const Error = error{OutOfMemory}; + + fn write(fifo: *Self, bytes: []const u8) Error!usize { + try fifo.write(bytes); + return bytes.len; + } + }; + + var out_stream = FifoStream.OutStream{ .context = self }; + try out_stream.print(format, args); } } else |
