From 8c90b05add807bdceb659aed6edba7e591f4e952 Mon Sep 17 00:00:00 2001 From: Vesim Date: Mon, 27 Dec 2021 16:10:17 +0100 Subject: fchown: use the 32-bit uid/gid variant of the syscall on 32-bit linux targets --- lib/std/os/linux.zig | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lib/std') diff --git a/lib/std/os/linux.zig b/lib/std/os/linux.zig index 9548f9afb0..c1591f7ea1 100644 --- a/lib/std/os/linux.zig +++ b/lib/std/os/linux.zig @@ -738,7 +738,11 @@ pub fn fchmod(fd: i32, mode: mode_t) usize { } pub fn fchown(fd: i32, owner: uid_t, group: gid_t) usize { - return syscall3(.fchown, @bitCast(usize, @as(isize, fd)), owner, group); + if (@hasField(SYS, "fchown32")) { + return syscall3(.fchown32, @bitCast(usize, @as(isize, fd)), owner, group); + } else { + return syscall3(.fchown, @bitCast(usize, @as(isize, fd)), owner, group); + } } /// Can only be called on 32 bit systems. For 64 bit see `lseek`. -- cgit v1.2.3