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.

fuzzer_receive_input

fuzzer.fuzzer_receive_input
export fn fuzzer_receive_input(test_i: u32, bytes_slice: abi.Slice) bool

File

lib/fuzzer.zig:2222

Code

export fn fuzzer_receive_input(test_i: u32, bytes_slice: abi.Slice) bool {
    const recv = &fuzzer.tests[test_i].received;
    if (recv.state.startWrite()) return true;
    defer recv.state.finishWrite();

    const bytes = bytes_slice.toSlice();
    const len: u32 = @intCast(bytes.len);
    recv.inputs.ensureUnusedCapacity(gpa, 4 + bytes.len) catch @panic("OOM");
    recv.inputs.appendSliceAssumeCapacity(@ptrCast(&len));
    recv.inputs.appendSliceAssumeCapacity(bytes);

    return false;
}