Avoid expensive check with --files (fixes #600)
This commit is contained in:
committed by
Andrew Gallant
parent
beb010d004
commit
1136f8adab
@@ -108,6 +108,7 @@ fn run_parallel(args: Arc<Args>) -> Result<u64> {
|
|||||||
let dent = match get_or_log_dir_entry(
|
let dent = match get_or_log_dir_entry(
|
||||||
result,
|
result,
|
||||||
args.stdout_handle(),
|
args.stdout_handle(),
|
||||||
|
args.files(),
|
||||||
args.no_messages(),
|
args.no_messages(),
|
||||||
) {
|
) {
|
||||||
None => return Continue,
|
None => return Continue,
|
||||||
@@ -154,6 +155,7 @@ fn run_one_thread(args: Arc<Args>) -> Result<u64> {
|
|||||||
let dent = match get_or_log_dir_entry(
|
let dent = match get_or_log_dir_entry(
|
||||||
result,
|
result,
|
||||||
args.stdout_handle(),
|
args.stdout_handle(),
|
||||||
|
args.files(),
|
||||||
args.no_messages(),
|
args.no_messages(),
|
||||||
) {
|
) {
|
||||||
None => continue,
|
None => continue,
|
||||||
@@ -206,6 +208,7 @@ fn run_files_parallel(args: Arc<Args>) -> Result<u64> {
|
|||||||
if let Some(dent) = get_or_log_dir_entry(
|
if let Some(dent) = get_or_log_dir_entry(
|
||||||
result,
|
result,
|
||||||
args.stdout_handle(),
|
args.stdout_handle(),
|
||||||
|
args.files(),
|
||||||
args.no_messages(),
|
args.no_messages(),
|
||||||
) {
|
) {
|
||||||
tx.send(dent).unwrap();
|
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(
|
let dent = match get_or_log_dir_entry(
|
||||||
result,
|
result,
|
||||||
args.stdout_handle(),
|
args.stdout_handle(),
|
||||||
|
args.files(),
|
||||||
args.no_messages(),
|
args.no_messages(),
|
||||||
) {
|
) {
|
||||||
None => continue,
|
None => continue,
|
||||||
@@ -251,6 +255,7 @@ fn run_types(args: Arc<Args>) -> Result<u64> {
|
|||||||
fn get_or_log_dir_entry(
|
fn get_or_log_dir_entry(
|
||||||
result: result::Result<ignore::DirEntry, ignore::Error>,
|
result: result::Result<ignore::DirEntry, ignore::Error>,
|
||||||
stdout_handle: Option<&same_file::Handle>,
|
stdout_handle: Option<&same_file::Handle>,
|
||||||
|
files_only: bool,
|
||||||
no_messages: bool,
|
no_messages: bool,
|
||||||
) -> Option<ignore::DirEntry> {
|
) -> Option<ignore::DirEntry> {
|
||||||
match result {
|
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
|
// If we are redirecting stdout to a file, then don't search that
|
||||||
// file.
|
// file.
|
||||||
if is_stdout_file(&dent, stdout_handle, no_messages) {
|
if !files_only && is_stdout_file(&dent, stdout_handle, no_messages) {
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
Some(dent)
|
Some(dent)
|
||||||
|
|||||||
Reference in New Issue
Block a user