diff options
-rw-r--r-- | src/main.rs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/main.rs b/src/main.rs index 41f13be8..8b7a267d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -271,10 +271,19 @@ fn get_or_log_dir_entry( eprintln!("{}", err); } } - if !dent.file_type().map_or(true, |x| x.is_file()) { - None - } else { + // A depth of 0 means the user gave the path explicitly, so we + // should always try to search it. + if dent.depth() == 0 { + return Some(dent); + } + let ft = match dent.file_type() { + None => return Some(dent), // entry is stdin + Some(ft) => ft, + }; + if ft.is_file() { Some(dent) + } else { + None } } } |