From 738d59f404a350397f0b0386877947c4aec5377d Mon Sep 17 00:00:00 2001 From: LuckyTurtleDev Date: Sun, 6 Aug 2023 12:37:21 +0200 Subject: [PATCH] skip non png files, if `--recursive` is used --- src/main.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main.rs b/src/main.rs index f2166785..4dd9e4e9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -25,6 +25,7 @@ use oxipng::RowFilter; use oxipng::StripChunks; use oxipng::{InFile, OutFile}; use rayon::prelude::*; +use std::ffi::OsStr; use std::fs::DirBuilder; use std::io::Write; #[cfg(feature = "zopfli")] @@ -327,6 +328,7 @@ Heuristic filter selection strategies: ); let success = files.into_par_iter().filter(|(input, output)| { + match oxipng::optimize(input, output, &opts) { // For optimizing single files, this will return the correct exit code always. // For recursive optimization, the correct choice is a bit subjective. @@ -385,6 +387,11 @@ fn collect_files( let in_file = if using_stdin { InFile::StdIn } else { + //skip non png files if recusive flag is used. + //(still allow the user to convert a non png file if recusive flag is not used) + if Some(OsStr::new("png")) != input.extension() && recursive { + continue; + } InFile::Path(input) }; in_out_pairs.push((in_file, out_file));