macos: use realpath$DARWIN_EXTSN
macOS 10.15 Catalina causes an ancient variant of `realpath` to fail, likely due to 10.15's evolving security model. closes #5325
This commit is contained in:
parent
79462bb591
commit
e05923f34b
@ -111,7 +111,16 @@ pub extern "c" fn dup(fd: fd_t) c_int;
|
|||||||
pub extern "c" fn dup2(old_fd: fd_t, new_fd: fd_t) c_int;
|
pub extern "c" fn dup2(old_fd: fd_t, new_fd: fd_t) c_int;
|
||||||
pub extern "c" fn readlink(noalias path: [*:0]const u8, noalias buf: [*]u8, bufsize: usize) isize;
|
pub extern "c" fn readlink(noalias path: [*:0]const u8, noalias buf: [*]u8, bufsize: usize) isize;
|
||||||
pub extern "c" fn readlinkat(dirfd: fd_t, noalias path: [*:0]const u8, noalias buf: [*]u8, bufsize: usize) isize;
|
pub extern "c" fn readlinkat(dirfd: fd_t, noalias path: [*:0]const u8, noalias buf: [*]u8, bufsize: usize) isize;
|
||||||
pub extern "c" fn realpath(noalias file_name: [*:0]const u8, noalias resolved_name: [*]u8) ?[*:0]u8;
|
|
||||||
|
pub usingnamespace switch (builtin.os.tag) {
|
||||||
|
.macosx, .ios, .watchos, .tvos => struct {
|
||||||
|
pub const realpath = @"realpath$DARWIN_EXTSN";
|
||||||
|
},
|
||||||
|
else => struct {
|
||||||
|
pub extern "c" fn realpath(noalias file_name: [*:0]const u8, noalias resolved_name: [*]u8) ?[*:0]u8;
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
pub extern "c" fn setreuid(ruid: c_uint, euid: c_uint) c_int;
|
pub extern "c" fn setreuid(ruid: c_uint, euid: c_uint) c_int;
|
||||||
pub extern "c" fn setregid(rgid: c_uint, egid: c_uint) c_int;
|
pub extern "c" fn setregid(rgid: c_uint, egid: c_uint) c_int;
|
||||||
pub extern "c" fn rmdir(path: [*:0]const u8) c_int;
|
pub extern "c" fn rmdir(path: [*:0]const u8) c_int;
|
||||||
|
@ -12,6 +12,8 @@ pub extern "c" fn _dyld_get_image_header(image_index: u32) ?*mach_header;
|
|||||||
pub extern "c" fn _dyld_get_image_vmaddr_slide(image_index: u32) usize;
|
pub extern "c" fn _dyld_get_image_vmaddr_slide(image_index: u32) usize;
|
||||||
pub extern "c" fn _dyld_get_image_name(image_index: u32) [*:0]const u8;
|
pub extern "c" fn _dyld_get_image_name(image_index: u32) [*:0]const u8;
|
||||||
|
|
||||||
|
pub extern "c" fn @"realpath$DARWIN_EXTSN"(noalias file_name: [*:0]const u8, noalias resolved_name: [*]u8) ?[*:0]u8;
|
||||||
|
|
||||||
pub extern "c" fn __getdirentries64(fd: c_int, buf_ptr: [*]u8, buf_len: usize, basep: *i64) isize;
|
pub extern "c" fn __getdirentries64(fd: c_int, buf_ptr: [*]u8, buf_len: usize, basep: *i64) isize;
|
||||||
pub extern "c" fn @"fstat$INODE64"(fd: fd_t, buf: *Stat) c_int;
|
pub extern "c" fn @"fstat$INODE64"(fd: fd_t, buf: *Stat) c_int;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user