Function readPositional [src]

Prototype

pub fn readPositional(r: *Reader, dest: []u8) std.Io.Reader.Error!usize

Parameters

r: *Readerdest: []u8

Source

pub fn readPositional(r: *Reader, dest: []u8) std.Io.Reader.Error!usize { const n = r.file.pread(dest, r.pos) catch |err| switch (err) { error.Unseekable => { r.mode = r.mode.toStreaming(); const pos = r.pos; if (pos != 0) { r.pos = 0; r.seekBy(@intCast(pos)) catch { r.mode = .failure; return error.ReadFailed; }; } return 0; }, else => |e| { r.err = e; return error.ReadFailed; }, }; if (n == 0) { r.size = r.pos; return error.EndOfStream; } r.pos += n; return n; }