feat: support char device in filetype (#628)

This commit is contained in:
HE7086 2024-02-05 02:50:39 +01:00 committed by GitHub
parent 9e113a9337
commit d776ce1074
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -19,6 +19,7 @@ impl Filetype {
let b = match self.is { let b = match self.is {
FiletypeIs::None => true, FiletypeIs::None => true,
FiletypeIs::Block => file.cha.is_block_device(), FiletypeIs::Block => file.cha.is_block_device(),
FiletypeIs::Char => file.cha.is_char_device(),
FiletypeIs::Exec => file.cha.is_exec(), FiletypeIs::Exec => file.cha.is_exec(),
FiletypeIs::Fifo => file.cha.is_fifo(), FiletypeIs::Fifo => file.cha.is_fifo(),
FiletypeIs::Link => file.cha.is_link(), FiletypeIs::Link => file.cha.is_link(),
@ -108,6 +109,7 @@ pub enum FiletypeIs {
#[default] #[default]
None, None,
Block, Block,
Char,
Exec, Exec,
Fifo, Fifo,
Link, Link,
@ -122,6 +124,7 @@ impl FromStr for FiletypeIs {
fn from_str(s: &str) -> Result<Self, Self::Err> { fn from_str(s: &str) -> Result<Self, Self::Err> {
Ok(match s { Ok(match s {
"block" => Self::Block, "block" => Self::Block,
"char" => Self::Char,
"exec" => Self::Exec, "exec" => Self::Exec,
"fifo" => Self::Fifo, "fifo" => Self::Fifo,
"link" => Self::Link, "link" => Self::Link,