Function makePath [src]

Calls makeDir iteratively to make an entire path (i.e. creating any parent directories that do not exist). Returns success if the path already exists and is a directory. This function is not atomic, and if it returns an error, the file system may have been modified regardless. On Windows, sub_path should be encoded as WTF-8. On WASI, sub_path should be encoded as valid UTF-8. On other platforms, sub_path is an opaque sequence of bytes with no particular encoding. Fails on an empty path with error.BadPathName as that is not a path that can be created. Paths containing .. components are handled differently depending on the platform: On Windows, .. are resolved before the path is passed to NtCreateFile, meaning a sub_path like "first/../second" will resolve to "second" and only a ./second directory will be created. On other platforms, .. are not resolved before the path is passed to mkdirat, meaning a sub_path like "first/../second" will create both a ./first and a ./second directory.

Prototype

pub fn makePath(self: Dir, sub_path: []const u8) (MakeError || StatFileError)!void

Parameters

self: Dirsub_path: []const u8

Source

pub fn makePath(self: Dir, sub_path: []const u8) (MakeError || StatFileError)!void { _ = try self.makePathStatus(sub_path); }