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 {
317317 uid: uid_t,
318318 gid: gid_t,
319319 rdev: dev_t,
320 __pad1: [2]u32, // -1 because our dev_t is u64 (kernel dev_t is really u32).
320 __pad1: [2]u32,
321321 size: off_t,
322322 atim: i32,
323 atim_nsec: u32,
323 atim_nsec: i32,
324324 mtim: i32,
325 mtim_nsec: u32,
325 mtim_nsec: i32,
326326 ctim: i32,
327 ctim_nsec: u32,
327 ctim_nsec: i32,
328328 blksize: blksize_t,
329329 __pad3: u32,
330330 blocks: blkcnt_t,