fix(#7): validate parameter ranges at startup
This commit is contained in:
parent
b6a3bc3219
commit
b3c938cde1
42
src/main.rs
42
src/main.rs
@ -112,9 +112,51 @@ struct Args {
|
||||
tint: i32,
|
||||
}
|
||||
|
||||
/// Validate that all adjustment parameters are within their documented ranges.
|
||||
fn validate_params(args: &Args) -> Result<(), Box<dyn std::error::Error>> {
|
||||
if args.exposure < -2.0 || args.exposure > 2.0 {
|
||||
return Err("--exposure must be between -2.0 and 2.0".into());
|
||||
}
|
||||
let range = -100i32..=100i32;
|
||||
if !range.contains(&args.contrast) {
|
||||
return Err("--contrast must be between -100 and 100".into());
|
||||
}
|
||||
if !range.contains(&args.highlights) {
|
||||
return Err("--highlights must be between -100 and 100".into());
|
||||
}
|
||||
if !range.contains(&args.shadows) {
|
||||
return Err("--shadows must be between -100 and 100".into());
|
||||
}
|
||||
if !range.contains(&args.whites) {
|
||||
return Err("--whites must be between -100 and 100".into());
|
||||
}
|
||||
if !range.contains(&args.blacks) {
|
||||
return Err("--blacks must be between -100 and 100".into());
|
||||
}
|
||||
if !range.contains(&args.clarity) {
|
||||
return Err("--clarity must be between -100 and 100".into());
|
||||
}
|
||||
if !range.contains(&args.vibrance) {
|
||||
return Err("--vibrance must be between -100 and 100".into());
|
||||
}
|
||||
if !range.contains(&args.saturation) {
|
||||
return Err("--saturation must be between -100 and 100".into());
|
||||
}
|
||||
if !range.contains(&args.temperature) {
|
||||
return Err("--temperature must be between -100 and 100".into());
|
||||
}
|
||||
if !range.contains(&args.tint) {
|
||||
return Err("--tint must be between -100 and 100".into());
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
let args = Args::parse();
|
||||
|
||||
// Validate parameter ranges before processing
|
||||
validate_params(&args)?;
|
||||
|
||||
println!("Photo Editor v0.1");
|
||||
println!("==================");
|
||||
println!("Input file: {}", args.input);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user