stdout not used or locked unless verbosity >= 0
This commit is contained in:
parent
54824b7d83
commit
92cf7b6f83
1 changed files with 19 additions and 8 deletions
27
src/main.rs
27
src/main.rs
|
@ -215,19 +215,28 @@ fn run(paths: Vec<PathBuf>, cfg: &Config) -> Result<(), Box<dyn std::error::Erro
|
||||||
}
|
}
|
||||||
registry.retain(|_,files| files.len() >= 2);
|
registry.retain(|_,files| files.len() >= 2);
|
||||||
|
|
||||||
let stdout = std::io::stdout();
|
let mut stdout_buffer = if cfg.verbosity >= 0 {
|
||||||
let mut stdout_buffer = std::io::BufWriter::new(stdout.lock());
|
let stdout = std::io::stdout();
|
||||||
|
let stdout_buffer = std::io::BufWriter::new(stdout.lock());
|
||||||
|
Some(stdout_buffer)
|
||||||
|
} else {
|
||||||
|
None
|
||||||
|
};
|
||||||
|
|
||||||
if cfg.verbosity > 0 {
|
if let Some(stdout_buffer) = &mut stdout_buffer {
|
||||||
writeln!(stdout_buffer, "Considering {} total files for duplicates", registry.iter().map(|(_,files)| files.len()).sum::<usize>()).unwrap();
|
if cfg.verbosity >= 0 {
|
||||||
|
writeln!(stdout_buffer, "Considering {} total files for duplicates", registry.iter().map(|(_,files)| files.len()).sum::<usize>()).unwrap();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (fsize, mut files) in registry {
|
for (fsize, mut files) in registry {
|
||||||
if files.len() > 8 {
|
if files.len() > 8 {
|
||||||
files.sort_by_key(|path| path.file_name().unwrap_or_default().to_string_lossy().to_string());
|
files.sort_by_key(|path| path.file_name().unwrap_or_default().to_string_lossy().to_string());
|
||||||
}
|
}
|
||||||
if cfg.verbosity > 1 {
|
if let Some(stdout_buffer) = &mut stdout_buffer {
|
||||||
writeln!(stdout_buffer, "Considering {} files of size {} for duplicates", files.len(), fsize).unwrap();
|
if cfg.verbosity > 1 {
|
||||||
|
writeln!(stdout_buffer, "Considering {} files of size {} for duplicates", files.len(), fsize).unwrap();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for i in (0..files.len()).rev() {
|
for i in (0..files.len()).rev() {
|
||||||
let f1 = &files[i];
|
let f1 = &files[i];
|
||||||
|
@ -240,8 +249,10 @@ fn run(paths: Vec<PathBuf>, cfg: &Config) -> Result<(), Box<dyn std::error::Erro
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if cfg.verbosity >= 0 {
|
if let Some(stdout_buffer) = &mut stdout_buffer {
|
||||||
writeln!(stdout_buffer, "hardlinked {}", format_pair(f1, f2, cfg)).unwrap();
|
if cfg.verbosity >= 0 {
|
||||||
|
writeln!(stdout_buffer, "hardlinked {}", format_pair(f1, f2, cfg)).unwrap();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue