Zig 0.17.0-dev (Split by item)
This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig library itself.
Zig › std/ › compress/ › zstd/ › Decompress.zig › discardIndirect
discardIndirect
Decompress.discardIndirect
fn discardIndirect (r : *Reader , limit : std .Io .Limit ) Reader .Error !usize
File
Code
fn discardIndirect (r : *Reader , limit : std .Io .Limit ) Reader .Error !usize {
const d : *Decompress = @alignCast (@fieldParentPtr ("reader" , r ));
rebaseForDiscard (d , limit );
var writer : Writer = .{
.buffer = r .buffer ,
.end = r .end ,
.vtable = &.{ .drain = Writer .unreachableDrain },
};
{
defer r .end = writer .end ;
_ = stream (d , &writer , .limited (writer .buffer .len - writer .end )) catch |err | switch (err ) {
error .WriteFailed => unreachable ,
else => |e | return e ,
};
}
const n = limit .minInt (r .end - r .seek );
r .seek += n ;
return n ;
}