Skip to content

Commit c60b7db

Browse files
committed
wc: gnu test failing fix
1 parent 5176d84 commit c60b7db

1 file changed

Lines changed: 6 additions & 16 deletions

File tree

src/uu/wc/src/wc.rs

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -51,31 +51,21 @@ fn try_get_stdin_size() -> Option<usize> {
5151
#[cfg(unix)]
5252
{
5353
use rustix::fd::AsFd;
54-
5554
let stdin = io::stdin();
5655
let fd = stdin.as_fd();
57-
5856
let Ok(stat) = rustix::fs::fstat(fd) else {
5957
return None;
6058
};
61-
62-
if rustix::fs::FileType::from_raw_mode(stat.st_mode) != rustix::fs::FileType::RegularFile {
63-
return None;
59+
let file_type = rustix::fs::FileType::from_raw_mode(stat.st_mode);
60+
if file_type == rustix::fs::FileType::RegularFile && stat.st_size > 0 && stat.st_blocks > 0
61+
{
62+
return Some(stat.st_size as usize);
6463
}
65-
66-
let Ok(fs) = rustix::fs::fstatfs(fd) else {
67-
return None;
68-
};
69-
70-
if fs.f_type == rustix::fs::PROC_SUPER_MAGIC {
71-
return None;
72-
}
73-
74-
Some(stat.st_size as usize)
64+
None
7565
}
7666
#[cfg(not(unix))]
7767
{
78-
None // TODO: Implement Windows support
68+
None
7969
}
8070
}
8171
struct Settings<'a> {

0 commit comments

Comments
 (0)