b2sum: moved 0 case into None arm

This commit is contained in:
Marras Antoine 2023-04-12 09:49:20 +02:00
parent c4d637125c
commit fdbebfad9d

View file

@ -66,16 +66,14 @@ fn detect_algo(
"sha384sum" => ("SHA384", Box::new(Sha384::new()) as Box<dyn Digest>, 384),
"sha512sum" => ("SHA512", Box::new(Sha512::new()) as Box<dyn Digest>, 512),
"b2sum" => match matches.get_one::<usize>("length") {
// by default, blake2 uses 64 bytes (512 bits)
// --length=0 falls back to default behavior
Some(0) | None => ("BLAKE2", Box::new(Blake2b::new()) as Box<dyn Digest>, 512),
Some(length_in_bits) => {
if *length_in_bits > 512 {
crash!(1, "Invalid length (maximum digest length is 512 bits)")
}
// --length=0 falls back to default behavior
if *length_in_bits == 0 {
return ("BLAKE2", Box::new(Blake2b::new()) as Box<dyn Digest>, 512);
}
// blake2 output size must be a multiple of 8 bits
if length_in_bits % 8 == 0 {
let length_in_bytes = length_in_bits / 8;
@ -88,8 +86,6 @@ fn detect_algo(
crash!(1, "Invalid length (expected a multiple of 8)")
}
}
// by default, blake2 uses 64 bytes (512 bits)
None => ("BLAKE2", Box::new(Blake2b::new()) as Box<dyn Digest>, 512),
},
"b3sum" => ("BLAKE3", Box::new(Blake3::new()) as Box<dyn Digest>, 256),
"sha3sum" => match matches.get_one::<usize>("bits") {