diff --git a/src/walk.rs b/src/walk.rs index e935c32..2f5a144 100644 --- a/src/walk.rs +++ b/src/walk.rs @@ -219,9 +219,10 @@ pub fn scan(path_vec: &[PathBuf], pattern: Arc, config: Arc) { if (entry_type.is_file() && !file_types.files) || (entry_type.is_dir() && !file_types.directories) || (entry_type.is_symlink() && !file_types.symlinks) - || (entry.metadata().is_ok() - && !fshelper::is_executable(&entry.metadata().unwrap()) - && file_types.executables_only) + || (file_types.executables_only && !entry + .metadata() + .map(|m| fshelper::is_executable(&m)) + .unwrap_or(false)) { return ignore::WalkState::Continue; } else if !(entry_type.is_file()