Skip to content

Commit d23c71e

Browse files
xingxue-ibmtgross35
authored andcommitted
Fix the types of 'struct stat'/'stat stat64' fields 'st_*tim'.
(backport <#4597>) (cherry picked from commit cf82fdf)
1 parent aadbcf5 commit d23c71e

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

libc-test/build.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5736,6 +5736,16 @@ fn test_aix(target: &str) {
57365736
// header does not define a separate standalone union type for it.
57375737
("ld_info", "_file") => true,
57385738

5739+
// On AIX, when _ALL_SOURCE is defined, the types of the following fields
5740+
// differ from those used when _XOPEN_SOURCE is defined. The former uses
5741+
// 'struct st_timespec', while the latter uses 'struct timespec'.
5742+
("stat", "st_atim") => true,
5743+
("stat", "st_mtim") => true,
5744+
("stat", "st_ctim") => true,
5745+
("stat64", "st_atim") => true,
5746+
("stat64", "st_mtim") => true,
5747+
("stat64", "st_ctim") => true,
5748+
57395749
_ => false,
57405750
}
57415751
});

src/unix/aix/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -463,9 +463,9 @@ s! {
463463
pub st_gid: crate::gid_t,
464464
pub st_rdev: dev_t,
465465
pub st_ssize: c_int,
466-
pub st_atim: st_timespec,
467-
pub st_mtim: st_timespec,
468-
pub st_ctim: st_timespec,
466+
pub st_atim: crate::timespec,
467+
pub st_mtim: crate::timespec,
468+
pub st_ctim: crate::timespec,
469469
pub st_blksize: blksize_t,
470470
pub st_blocks: blkcnt_t,
471471
pub st_vfstype: c_int,

src/unix/aix/powerpc64.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ s! {
6969
pub st_gid: crate::gid_t,
7070
pub st_rdev: crate::dev_t,
7171
pub st_ssize: c_int,
72-
pub st_atim: crate::st_timespec,
73-
pub st_mtim: crate::st_timespec,
74-
pub st_ctim: crate::st_timespec,
72+
pub st_atim: crate::timespec,
73+
pub st_mtim: crate::timespec,
74+
pub st_ctim: crate::timespec,
7575
pub st_blksize: crate::blksize_t,
7676
pub st_blocks: crate::blkcnt_t,
7777
pub st_vfstype: c_int,

0 commit comments

Comments
 (0)