authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-06-02 14:20:32 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-06-02 14:20:32 -07:00
logecfdb8fd1dcc3c13c609f6ef8884185433f28cbf
treebec897c33ca119ae3de3a6a40bcc46bb843aa681
parent42f22d588059efa1e212f97402e94d81d675f28d
signaturebadge-check Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

AnyReadable.fromStd: instead of .readSliceShort use .stream

the former has an undesirable comment for the behavior we want here > Returns the number of bytes read, which is less than `buffer.len` if and only if the stream reached the end.

1 files changed, 7 insertions(+), 2 deletions(-)

AnyReadable.zig+7-2
......@@ -41,8 +41,13 @@ pub fn anyReadable(r: AnyReadable) AnyReadable {
4141pub fn fromStd(reader_ptr: *std.Io.Reader) AnyReadable {
4242 const S = struct {
4343 fn _read(s: *allowzero anyopaque, buffer: []u8) !usize {
44 const r: @TypeOf(reader_ptr) = @ptrCast(@alignCast(s));
45 return r.readSliceShort(buffer);
44 const r: *std.Io.Reader = @ptrCast(@alignCast(s));
45 var w: std.Io.Writer = .fixed(buffer);
46 return r.stream(&w, .limited(buffer.len)) catch |err| switch (err) {
47 error.ReadFailed => |e| e,
48 error.WriteFailed => unreachable,
49 error.EndOfStream => 0,
50 };
4651 }
4752 };
4853 return .{