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/ › Build/ › Cache.zig › getPrefixSubpath
getPrefixSubpath
Cache.getPrefixSubpath
fn getPrefixSubpath (gpa : Allocator , cwd : []const u8 , prefix : []const u8 , path : []u8 ) ![]u8
File
Code
fn getPrefixSubpath (gpa : Allocator , cwd : []const u8 , prefix : []const u8 , path : []u8 ) ![]u8 {
const relative = try std .fs .path .relative (gpa , cwd , null , prefix , path );
errdefer gpa .free (relative );
var component_iterator : std .fs .path .NativeComponentIterator = .init (relative );
if (component_iterator .root () != null ) {
return error .NotASubPath ;
}
const first_component = component_iterator .first ();
if (first_component != null and std .mem .eql (u8 , first_component .?.name , ".." )) {
return error .NotASubPath ;
}
return relative ;
}