authorgravatar for nelson@tika.toNelson Crosby <nelson@tika.to> 2024-10-26 13:22:03+13:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-10-26 13:53:07+02:00
logb1361f237aa6b2584e6dbc43c8ae8dc74394eb64
tree495192f425cfe552d929981350962a413f4db5ba
parent4adf63aefc62efb301c27d9f6ec71f92f52c23ca

Fix up Linux xattr syscalls

fgetxattr now doesn't accidentally call lgetxattr, and argument types are more consistent.

1 files changed, 8 insertions(+), 8 deletions(-)

lib/std/os/linux.zig+8-8
...@@ -2022,8 +2022,8 @@ pub fn llistxattr(path: [*:0]const u8, list: [*]u8, size: usize) usize {...@@ -2022,8 +2022,8 @@ pub fn llistxattr(path: [*:0]const u8, list: [*]u8, size: usize) usize {
2022 return syscall3(.llistxattr, @intFromPtr(path), @intFromPtr(list), size);2022 return syscall3(.llistxattr, @intFromPtr(path), @intFromPtr(list), size);
2023}2023}
20242024
2025pub fn flistxattr(fd: usize, list: [*]u8, size: usize) usize {2025pub fn flistxattr(fd: fd_t, list: [*]u8, size: usize) usize {
2026 return syscall3(.flistxattr, fd, @intFromPtr(list), size);2026 return syscall3(.flistxattr, @as(usize, @bitCast(@as(isize, fd))), @intFromPtr(list), size);
2027}2027}
20282028
2029pub fn getxattr(path: [*:0]const u8, name: [*:0]const u8, value: [*]u8, size: usize) usize {2029pub fn getxattr(path: [*:0]const u8, name: [*:0]const u8, value: [*]u8, size: usize) usize {
...@@ -2034,20 +2034,20 @@ pub fn lgetxattr(path: [*:0]const u8, name: [*:0]const u8, value: [*]u8, size: u...@@ -2034,20 +2034,20 @@ pub fn lgetxattr(path: [*:0]const u8, name: [*:0]const u8, value: [*]u8, size: u
2034 return syscall4(.lgetxattr, @intFromPtr(path), @intFromPtr(name), @intFromPtr(value), size);2034 return syscall4(.lgetxattr, @intFromPtr(path), @intFromPtr(name), @intFromPtr(value), size);
2035}2035}
20362036
2037pub fn fgetxattr(fd: usize, name: [*:0]const u8, value: [*]u8, size: usize) usize {2037pub fn fgetxattr(fd: fd_t, name: [*:0]const u8, value: [*]u8, size: usize) usize {
2038 return syscall4(.lgetxattr, fd, @intFromPtr(name), @intFromPtr(value), size);2038 return syscall4(.fgetxattr, @as(usize, @bitCast(@as(isize, fd))), @intFromPtr(name), @intFromPtr(value), size);
2039}2039}
20402040
2041pub fn setxattr(path: [*:0]const u8, name: [*:0]const u8, value: *const void, size: usize, flags: usize) usize {2041pub fn setxattr(path: [*:0]const u8, name: [*:0]const u8, value: [*]const u8, size: usize, flags: usize) usize {
2042 return syscall5(.setxattr, @intFromPtr(path), @intFromPtr(name), @intFromPtr(value), size, flags);2042 return syscall5(.setxattr, @intFromPtr(path), @intFromPtr(name), @intFromPtr(value), size, flags);
2043}2043}
20442044
2045pub fn lsetxattr(path: [*:0]const u8, name: [*:0]const u8, value: *const void, size: usize, flags: usize) usize {2045pub fn lsetxattr(path: [*:0]const u8, name: [*:0]const u8, value: [*]const u8, size: usize, flags: usize) usize {
2046 return syscall5(.lsetxattr, @intFromPtr(path), @intFromPtr(name), @intFromPtr(value), size, flags);2046 return syscall5(.lsetxattr, @intFromPtr(path), @intFromPtr(name), @intFromPtr(value), size, flags);
2047}2047}
20482048
2049pub fn fsetxattr(fd: usize, name: [*:0]const u8, value: *const void, size: usize, flags: usize) usize {2049pub fn fsetxattr(fd: fd_t, name: [*:0]const u8, value: [*]const u8, size: usize, flags: usize) usize {
2050 return syscall5(.fsetxattr, fd, @intFromPtr(name), @intFromPtr(value), size, flags);2050 return syscall5(.fsetxattr, @as(usize, @bitCast(@as(isize, fd))), @intFromPtr(name), @intFromPtr(value), size, flags);
2051}2051}
20522052
2053pub fn removexattr(path: [*:0]const u8, name: [*:0]const u8) usize {2053pub fn removexattr(path: [*:0]const u8, name: [*:0]const u8) usize {