diff --git a/src/common/status.rs b/src/common/status.rs index 21ce81e..79b8793 100644 --- a/src/common/status.rs +++ b/src/common/status.rs @@ -71,32 +71,38 @@ pub fn generate_status_info( sorted_compression_types.sort_by_key(|ct| ct.to_string()); for compression_type in sorted_compression_types { - let compression_program: CompressionEngineProgram = - match &COMPRESSION_PROGRAMS[compression_type.clone()] { - Some(compression_program) => compression_program.clone(), - None => CompressionEngineProgram { - program: "".to_string(), - compress: Vec::new(), - decompress: Vec::new(), - supported: true, - }, + let (binary, compress, decompress, supported, is_internal) = { + let is_internal = match compression_type { + CompressionType::LZ4 if cfg!(feature = "lz4") => true, + CompressionType::GZip if cfg!(feature = "gzip") => true, + _ => false, }; + if is_internal { + ("".to_string(), "".to_string(), "".to_string(), true) + } else { + match &COMPRESSION_PROGRAMS[compression_type.clone()] { + Some(program) => ( + program.program.clone(), + program.compress.join(" "), + program.decompress.join(" "), + program.supported, + ), + None => ("".to_string(), "".to_string(), "".to_string(), false), + } + } + }; + let _is_default = compression_type == default_type; let is_enabled = enabled_compression_type.as_ref().map_or(false, |ct| *ct == compression_type); - let binary = if compression_program.program.is_empty() { - "".to_string() - } else { - compression_program.program - }; compression_info.push(CompressionInfo { compression_type: compression_type.to_string(), - found: compression_program.supported, - default: is_enabled, // Changed from is_default to is_enabled + found: supported, + default: is_enabled, binary, - compress: compression_program.compress.join(" "), - decompress: compression_program.decompress.join(" "), + compress, + decompress, }); }