authorgravatar for pat.github@tullmann.orgPat Tullmann <pat.github@tullmann.org> 2025-07-19 20:31:13-07:00
committergravatar for pat.github@tullmann.orgPat Tullmann <pat.github@tullmann.org> 2025-08-06 22:12:41-07:00
logcaf80e90b85a2a7855c369887dce163cf036ff7e
tree5d2ad98a6f87b5fdfcbad5adeffc9e39cbe08fd4
parent04fe1bfe3ceabd632183a85101cddeeec11f0745

linux/mips.zig: Use `i32` for stat nsec fields

The `atime()`, etc wrappers here expect to create a `std.linux.timespec` (defined in `linux.zig` to have `isize` fields), so the u32 causes errors: error: expected type 'isize', found 'u32' .nsec = self.atim_nsec, Make the nsec fields signed for consistency with all the other structs, with and with `std.linux.timespec`. Also looks like the comment on `__pad1` was copied from `__pad0`, but it only applies to `__pad0`.

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

lib/std/os/linux/mips.zig+4-4
...@@ -317,14 +317,14 @@ pub const Stat = extern struct {...@@ -317,14 +317,14 @@ pub const Stat = extern struct {
317 uid: uid_t,317 uid: uid_t,
318 gid: gid_t,318 gid: gid_t,
319 rdev: dev_t,319 rdev: dev_t,
320 __pad1: [2]u32, // -1 because our dev_t is u64 (kernel dev_t is really u32).320 __pad1: [2]u32,
321 size: off_t,321 size: off_t,
322 atim: i32,322 atim: i32,
323 atim_nsec: u32,323 atim_nsec: i32,
324 mtim: i32,324 mtim: i32,
325 mtim_nsec: u32,325 mtim_nsec: i32,
326 ctim: i32,326 ctim: i32,
327 ctim_nsec: u32,327 ctim_nsec: i32,
328 blksize: blksize_t,328 blksize: blksize_t,
329 __pad3: u32,329 __pad3: u32,
330 blocks: blkcnt_t,330 blocks: blkcnt_t,