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 › build-web/ › fuzz.zig › sourceIndexMessage
sourceIndexMessage
fuzz.sourceIndexMessage
pub fn sourceIndexMessage (msg_bytes : []u8 ) error
File
Code
pub fn sourceIndexMessage (msg_bytes : []u8 ) error {OutOfMemory }!void {
Walk .files .clearRetainingCapacity ();
Walk .decls .clearRetainingCapacity ();
Walk .modules .clearRetainingCapacity ();
recent_coverage_update .clearRetainingCapacity ();
selected_source_location = null ;
js .requestSources ();
const Header = abi .fuzz .SourceIndexHeader ;
const header : *align (1 ) const Header = @ptrCast (msg_bytes [0 ..@sizeOf (Header )]);
const directories_start = @sizeOf (Header );
const directories_end = directories_start + header .directories_len * @sizeOf (Coverage .String );
const files_start = directories_end ;
const files_end = files_start + header .files_len * @sizeOf (Coverage .File );
const source_locations_start = files_end ;
const source_locations_end = source_locations_start + header .source_locations_len * @sizeOf (Coverage .SourceLocation );
const string_bytes = msg_bytes [source_locations_end ..][0 ..header .string_bytes_len ];
const directories : []const Coverage .String = @alignCast (std .mem .bytesAsSlice (Coverage .String , msg_bytes [directories_start ..directories_end ]));
const files : []const Coverage .File = @alignCast (std .mem .bytesAsSlice (Coverage .File , msg_bytes [files_start ..files_end ]));
const source_locations : []const Coverage .SourceLocation = @alignCast (std .mem .bytesAsSlice (Coverage .SourceLocation , msg_bytes [source_locations_start ..source_locations_end ]));
start_fuzzing_timestamp = header .start_timestamp ;
start_fuzzing_n_runs = header .start_n_runs ;
try updateCoverageSources (directories , files , source_locations , string_bytes );
js .ready ();
}