diff options
author | Christof Marti <chrmarti@microsoft.com> | 2017-09-08 16:00:10 -0700 |
---|---|---|
committer | Andrew Gallant <jamslam@gmail.com> | 2017-09-18 11:54:48 -0400 |
commit | 1136f8adabb694634e6bc0c5ca3842e9403fe697 (patch) | |
tree | aad0e3a1d751819abee994abb59c2aefa6362452 /src/main.rs | |
parent | beb010d004a79eedb8baa6f4eab21532e83a0ef0 (diff) |
Avoid expensive check with --files (fixes #600)
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs index 73ced955..1ff8eb00 100644 --- a/src/main.rs +++ b/src/main.rs @@ -108,6 +108,7 @@ fn run_parallel(args: Arc<Args>) -> Result<u64> { let dent = match get_or_log_dir_entry( result, args.stdout_handle(), + args.files(), args.no_messages(), ) { None => return Continue, @@ -154,6 +155,7 @@ fn run_one_thread(args: Arc<Args>) -> Result<u64> { let dent = match get_or_log_dir_entry( result, args.stdout_handle(), + args.files(), args.no_messages(), ) { None => continue, @@ -206,6 +208,7 @@ fn run_files_parallel(args: Arc<Args>) -> Result<u64> { if let Some(dent) = get_or_log_dir_entry( result, args.stdout_handle(), + args.files(), args.no_messages(), ) { tx.send(dent).unwrap(); @@ -224,6 +227,7 @@ fn run_files_one_thread(args: Arc<Args>) -> Result<u64> { let dent = match get_or_log_dir_entry( result, args.stdout_handle(), + args.files(), args.no_messages(), ) { None => continue, @@ -251,6 +255,7 @@ fn run_types(args: Arc<Args>) -> Result<u64> { fn get_or_log_dir_entry( result: result::Result<ignore::DirEntry, ignore::Error>, stdout_handle: Option<&same_file::Handle>, + files_only: bool, no_messages: bool, ) -> Option<ignore::DirEntry> { match result { @@ -279,7 +284,7 @@ fn get_or_log_dir_entry( } // If we are redirecting stdout to a file, then don't search that // file. - if is_stdout_file(&dent, stdout_handle, no_messages) { + if !files_only && is_stdout_file(&dent, stdout_handle, no_messages) { return None; } Some(dent) |