@@ -25,10 +25,12 @@ use sys_common::{AsInner, FromInner};
25
25
26
26
#[ cfg( any( target_os = "linux" , target_os = "emscripten" , target_os = "l4re" ) ) ]
27
27
use libc:: { stat64, fstat64, lstat64, off64_t, ftruncate64, lseek64, dirent64, readdir64_r, open64} ;
28
+ #[ cfg( any( target_os = "linux" , target_os = "emscripten" ) ) ]
29
+ use libc:: fstatat64;
28
30
#[ cfg( any( target_os = "linux" , target_os = "emscripten" , target_os = "android" ) ) ]
29
- use libc:: { fstatat , dirfd} ;
31
+ use libc:: dirfd;
30
32
#[ cfg( target_os = "android" ) ]
31
- use libc:: { stat as stat64, fstat as fstat64, lstat as lstat64, lseek64,
33
+ use libc:: { stat as stat64, fstat as fstat64, fstatat as fstatat64 , lstat as lstat64, lseek64,
32
34
dirent as dirent64, open as open64} ;
33
35
#[ cfg( not( any( target_os = "linux" ,
34
36
target_os = "emscripten" ,
@@ -299,10 +301,7 @@ impl DirEntry {
299
301
let fd = cvt ( unsafe { dirfd ( self . dir . 0 . dirp . 0 ) } ) ?;
300
302
let mut stat: stat64 = unsafe { mem:: zeroed ( ) } ;
301
303
cvt ( unsafe {
302
- fstatat ( fd,
303
- self . entry . d_name . as_ptr ( ) ,
304
- & mut stat as * mut _ as * mut _ ,
305
- libc:: AT_SYMLINK_NOFOLLOW )
304
+ fstatat64 ( fd, self . entry . d_name . as_ptr ( ) , & mut stat, libc:: AT_SYMLINK_NOFOLLOW )
306
305
} ) ?;
307
306
Ok ( FileAttr { stat : stat } )
308
307
}
0 commit comments