diff options
Diffstat (limited to 'crates/shirabe/src')
| -rw-r--r-- | crates/shirabe/src/util/filesystem.rs | 7 | ||||
| -rw-r--r-- | crates/shirabe/src/util/platform.rs | 6 |
2 files changed, 4 insertions, 9 deletions
diff --git a/crates/shirabe/src/util/filesystem.rs b/crates/shirabe/src/util/filesystem.rs index 532c96dd..44dddb8c 100644 --- a/crates/shirabe/src/util/filesystem.rs +++ b/crates/shirabe/src/util/filesystem.rs @@ -1021,11 +1021,10 @@ impl Filesystem { let stat = lstat(junction); // S_ISDIR test (S_IFDIR is 0x4000, S_IFMT is 0xF000 bitmask) - if let Some(arr) = stat { - let mode = arr.get("mode").and_then(|v| v.as_int()).unwrap_or(0); - return 0x4000 != (mode & 0xF000); + match stat { + Some(stat) => 0x4000 != (stat.mode & 0xF000), + None => false, } - false } /// Removes a Windows NTFS junction. diff --git a/crates/shirabe/src/util/platform.rs b/crates/shirabe/src/util/platform.rs index 2cef4109..f45294d5 100644 --- a/crates/shirabe/src/util/platform.rs +++ b/crates/shirabe/src/util/platform.rs @@ -296,11 +296,7 @@ impl Platform { }; // Check if formatted mode is S_IFCHR - if let Some(mode) = stat.get("mode").and_then(|v| v.as_int()) { - return 0o020000 == (mode & 0o170000); - } - - false + 0o020000 == (stat.mode & 0o170000) } /// Whether the current command is for bash completion |
