| ... | @@ -261,13 +261,19 @@ fn discard(context: ?*anyopaque, limit: Reader.Limit) Reader.Error!usize { | ... | @@ -261,13 +261,19 @@ fn discard(context: ?*anyopaque, limit: Reader.Limit) Reader.Error!usize { |
| 261 | var trash_buffer: [64]u8 = undefined; | 261 | var trash_buffer: [64]u8 = undefined; |
| 262 | var null_writer: std.io.Writer.Null = undefined; | 262 | var null_writer: std.io.Writer.Null = undefined; |
| 263 | var bw = null_writer.writer().buffered(&trash_buffer); | 263 | var bw = null_writer.writer().buffered(&trash_buffer); |
| 264 | return @errorCast(read(context, &bw, limit)); | 264 | return read(context, &bw, limit) catch |err| switch (err) { |
| | 265 | error.WriteFailed => unreachable, |
| | 266 | else => |e| return e, |
| | 267 | }; |
| 265 | } | 268 | } |
| 266 | | 269 | |
| 267 | fn readVec(context: ?*anyopaque, data: []const []u8) Reader.Error!usize { | 270 | fn readVec(context: ?*anyopaque, data: []const []u8) Reader.Error!usize { |
| 268 | var bw: BufferedWriter = undefined; | 271 | var bw: BufferedWriter = undefined; |
| 269 | bw.initFixed(data[0]); | 272 | bw.initFixed(data[0]); |
| 270 | return @errorCast(read(context, &bw, .limited(data[0].len))); | 273 | return read(context, &bw, .limited(data[0].len)) catch |err| switch (err) { |
| | 274 | error.WriteFailed => unreachable, |
| | 275 | else => |e| return e, |
| | 276 | }; |
| 271 | } | 277 | } |
| 272 | | 278 | |
| 273 | pub const Frame = struct { | 279 | pub const Frame = struct { |