authorgravatar for sahnvour@pm.meSahnvour <sahnvour@pm.me> 2019-07-28 17:31:40+02:00
committergravatar for sahnvour@pm.meSahnvour <sahnvour@pm.me> 2019-07-29 23:33:58+02:00
logd08425a0a5b15fa903d379ea5547fbb5dfecda62
treedd5055b34bd635c522aa86ce89b7b779b0b0ac60
parentbc982e65cf77aa6551029620ceaec8f3ae49202f

os: missing accessW since recent refactoring


1 files changed, 16 insertions(+), 0 deletions(-)

std/os.zig+16
......@@ -2053,6 +2053,22 @@ pub fn accessC(path: [*]const u8, mode: u32) AccessError!void {
20532053 }
20542054}
20552055
2056/// Call from Windows-specific code if you already have a UTF-16LE encoded, null terminated string.
2057/// Otherwise use `access` or `accessC`.
2058/// TODO currently this ignores `mode`.
2059pub fn accessW(path: [*]const u16, mode: u32) windows.GetFileAttributesError!void {
2060 const ret = try windows.GetFileAttributesW(path);
2061 if (ret != windows.INVALID_FILE_ATTRIBUTES) {
2062 return;
2063 }
2064 switch (windows.kernel32.GetLastError()) {
2065 windows.ERROR.FILE_NOT_FOUND => return error.FileNotFound,
2066 windows.ERROR.PATH_NOT_FOUND => return error.FileNotFound,
2067 windows.ERROR.ACCESS_DENIED => return error.PermissionDenied,
2068 else => |err| return windows.unexpectedError(err),
2069 }
2070}
2071
20562072pub const PipeError = error{
20572073 SystemFdQuotaExceeded,
20582074 ProcessFdQuotaExceeded,