It returns sizeof(dirent_t), so I'm not sure why its return type is int.
It's only used once, and that usage immediately casts it to usize.
fn next(&mut self) -> Option<io::Result<DirEntry>> {
extern {
- fn rust_dirent_t_size() -> c_int;
+ fn rust_dirent_t_size() -> size_t;
}
let mut buf: Vec<u8> = Vec::with_capacity(unsafe {
- rust_dirent_t_size() as usize
+ rust_dirent_t_size()
});
let ptr = buf.as_mut_ptr() as *mut libc::dirent;
return readdir_r(dirp, entry, result);
}
-int
+size_t
rust_dirent_t_size() {
return sizeof(struct dirent);
}