Commit caf80e90b8

Pat Tullmann <pat.github@tullmann.org>
2025-07-20 05:31:13
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 parent 04fe1bf
Changed files (1)
lib
std
os
linux
lib/std/os/linux/mips.zig
@@ -317,14 +317,14 @@ pub const Stat = extern struct {
     uid: uid_t,
     gid: gid_t,
     rdev: dev_t,
-    __pad1: [2]u32, // -1 because our dev_t is u64 (kernel dev_t is really u32).
+    __pad1: [2]u32,
     size: off_t,
     atim: i32,
-    atim_nsec: u32,
+    atim_nsec: i32,
     mtim: i32,
-    mtim_nsec: u32,
+    mtim_nsec: i32,
     ctim: i32,
-    ctim_nsec: u32,
+    ctim_nsec: i32,
     blksize: blksize_t,
     __pad3: u32,
     blocks: blkcnt_t,