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/ › Io/ › Dispatch.zig › processSetCurrentPath
processSetCurrentPath
Dispatch.processSetCurrentPath
fn processSetCurrentPath (userdata : ?*anyopaque , dir_path : []const u8 ) process .SetCurrentPathError !void
File
Code
fn processSetCurrentPath (userdata : ?*anyopaque , dir_path : []const u8 ) process .SetCurrentPathError !void {
const ev : *Evented = @ptrCast (@alignCast (userdata ));
_ = ev ;
var path_buffer : [c .PATH_MAX ]u8 = undefined ;
const dir_path_posix = try pathToPosix (dir_path , &path_buffer );
while (true ) switch (c .errno (c .chdir (dir_path_posix ))) {
.SUCCESS => return ,
.INTR => {},
.ACCES => return error .AccessDenied ,
.IO => return error .FileSystem ,
.LOOP => return error .SymLinkLoop ,
.NAMETOOLONG => return error .NameTooLong ,
.NOENT => return error .FileNotFound ,
.NOMEM => return error .SystemResources ,
.NOTDIR => return error .NotDir ,
.ILSEQ => return error .BadPathName ,
.FAULT => |err | return errnoBug (err ),
else => |err | return unexpectedErrno (err ),
};
}