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 › compiler/ › resinator/ › cvtres.zig › parseNameOrOrdinal
parseNameOrOrdinal
cvtres.parseNameOrOrdinal
pub fn parseNameOrOrdinal (allocator : Allocator , reader : *std .Io .Reader ) !NameOrOrdinal
File
Code
pub fn parseNameOrOrdinal (allocator : Allocator , reader : *std .Io .Reader ) !NameOrOrdinal {
const first_code_unit = try reader .takeInt (u16 , .little );
if (first_code_unit == 0xFFFF ) {
const ordinal_value = try reader .takeInt (u16 , .little );
return .{ .ordinal = ordinal_value };
}
var name_buf = try std .ArrayList (u16 ).initCapacity (allocator , 16 );
errdefer name_buf .deinit (allocator );
var code_unit = first_code_unit ;
while (code_unit != 0 ) {
try name_buf .append (allocator , std .mem .nativeToLittle (u16 , code_unit ));
code_unit = try reader .takeInt (u16 , .little );
}
return .{ .name = try name_buf .toOwnedSliceSentinel (allocator , 0 ) };
}