Skip to content

Commit 5176d84

Browse files
committed
wc: failing test fix
1 parent 788c49b commit 5176d84

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

src/uu/wc/src/wc.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,19 @@ fn try_get_stdin_size() -> Option<usize> {
5959
return None;
6060
};
6161

62-
let file_type = rustix::fs::FileType::from_raw_mode(stat.st_mode);
62+
if rustix::fs::FileType::from_raw_mode(stat.st_mode) != rustix::fs::FileType::RegularFile {
63+
return None;
64+
}
65+
66+
let Ok(fs) = rustix::fs::fstatfs(fd) else {
67+
return None;
68+
};
6369

64-
if file_type == rustix::fs::FileType::RegularFile && stat.st_size > 0 && stat.st_nlink == 1
65-
{
66-
return Some(stat.st_size as usize);
70+
if fs.f_type == rustix::fs::PROC_SUPER_MAGIC {
71+
return None;
6772
}
6873

69-
None
74+
Some(stat.st_size as usize)
7075
}
7176
#[cfg(not(unix))]
7277
{

0 commit comments

Comments
 (0)