authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-04-12 13:41:05 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-04-12 13:41:05 -07:00
log94fa7059420793911efd53424d7422e53f5763f1
treea1295e0543dec6e29949a3c9973bbabc9cec4f82
parent1bc8bca5eccb2b89059e298bdec01682e8167159
signaturebadge-check Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

Readable: add readAlloc


1 files changed, 10 insertions(+), 0 deletions(-)

nio.zig+10
......@@ -126,6 +126,16 @@ pub fn Readable(T: type, this_kind: enum { _var, _const, _bare }) type {
126126 }
127127 return error.StreamTooLong;
128128 }
129
130 pub fn readAlloc(self: Self, allocator: std.mem.Allocator, size: usize) ![]u8 {
131 var array_list = try std.ArrayList(u8).initCapacity(allocator, size);
132 defer array_list.deinit();
133 try array_list.ensureUnusedCapacity(size);
134 const len = try readAll(self, array_list.allocatedSlice());
135 array_list.items.len += len;
136 if (len != size) return error.EndOfStream;
137 return array_list.toOwnedSlice();
138 }
129139 };
130140}
131141