From 1136f8adabb694634e6bc0c5ca3842e9403fe697 Mon Sep 17 00:00:00 2001 From: Christof Marti Date: Fri, 8 Sep 2017 16:00:10 -0700 Subject: Avoid expensive check with --files (fixes #600) --- src/main.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/main.rs') 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) -> Result { 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) -> Result { 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) -> Result { 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) -> Result { 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) -> Result { fn get_or_log_dir_entry( result: result::Result, stdout_handle: Option<&same_file::Handle>, + files_only: bool, no_messages: bool, ) -> Option { 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) -- cgit v1.2.3