| ... | @@ -1238,11 +1238,14 @@ pub fn access(path: [*:0]const u8, mode: u32) usize { | ... | @@ -1238,11 +1238,14 @@ pub fn access(path: [*:0]const u8, mode: u32) usize { |
| 1238 | if (@hasField(SYS, "access")) { | 1238 | if (@hasField(SYS, "access")) { |
| 1239 | return syscall2(.access, @intFromPtr(path), mode); | 1239 | return syscall2(.access, @intFromPtr(path), mode); |
| 1240 | } else { | 1240 | } else { |
| 1241 | return syscall4(.faccessat, @as(usize, @bitCast(@as(isize, AT.FDCWD))), @intFromPtr(path), mode, 0); | 1241 | return faccessat(AT.FDCWD, path, mode, 0); |
| 1242 | } | 1242 | } |
| 1243 | } | 1243 | } |
| 1244 | | 1244 | |
| 1245 | pub fn faccessat(dirfd: i32, path: [*:0]const u8, mode: u32, flags: u32) usize { | 1245 | pub fn faccessat(dirfd: i32, path: [*:0]const u8, mode: u32, flags: u32) usize { |
| | 1246 | if (flags == 0) { |
| | 1247 | return syscall3(.faccessat, @as(usize, @bitCast(@as(isize, dirfd))), @intFromPtr(path), mode); |
| | 1248 | } |
| 1246 | return syscall4(.faccessat2, @as(usize, @bitCast(@as(isize, dirfd))), @intFromPtr(path), mode, flags); | 1249 | return syscall4(.faccessat2, @as(usize, @bitCast(@as(isize, dirfd))), @intFromPtr(path), mode, flags); |
| 1247 | } | 1250 | } |
| 1248 | | 1251 | |