authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2025-12-28 22:14:39 -08:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2025-12-28 22:14:39 -08:00
log666575baab3f4b935b7ae2db8b2aa8ec44af20a9
tree13b99a08ea1de68599e53090fe6f06ad007154f4
parentf812677b30b3574f5763c750998b67200d00f341

AnyReadable: add fromStd to help with migration


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

AnyReadable.zig+13
......@@ -16,3 +16,16 @@ pub fn read(r: *AnyReadable, buffer: []u8) !usize {
1616pub fn anyReadable(r: AnyReadable) AnyReadable {
1717 return r;
1818}
19
20pub fn fromStd(reader_ptr: anytype) AnyReadable {
21 const S = struct {
22 fn _read(s: *allowzero anyopaque, buffer: []u8) !usize {
23 const r: @TypeOf(reader_ptr) = @ptrCast(@alignCast(s));
24 return r.read(buffer);
25 }
26 };
27 return .{
28 .vtable = &.{ .read = &S._read },
29 .state = @constCast(@ptrCast(reader_ptr)),
30 };
31}