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.

getStringGeneric

Dwarf.getStringGeneric
fn getStringGeneric(opt_str: ?[]const u8, offset: u64) ![:0]const u8

File

lib/std/debug/Dwarf.zig:1549

Code

fn getStringGeneric(opt_str: ?[]const u8, offset: u64) ![:0]const u8 {
    const str = opt_str orelse return bad();
    if (offset > str.len) return bad();
    const casted_offset = cast(usize, offset) orelse return bad();
    // Valid strings always have a terminating zero byte
    const last = std.mem.findScalarPos(u8, str, casted_offset, 0) orelse return bad();
    return str[casted_offset..last :0];
}