Skip to content

Commit

Permalink
Avoid expensive check with --files (fixes BurntSushi#600)
Browse files Browse the repository at this point in the history
  • Loading branch information
roblourens committed Sep 12, 2017
1 parent d8d614a commit 1359201
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -204,6 +206,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();
Expand All @@ -222,6 +225,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,
Expand All @@ -247,6 +251,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 {
Expand Down Expand Up @@ -275,7 +280,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)
Expand Down

0 comments on commit 1359201

Please sign in to comment.