Make parse_prefix more idiomatic

This commit is contained in:
Abhishek Chanda
2023-04-06 20:47:22 -05:00
committed by Abhishek Chanda
parent a42e9d9593
commit ef3f536d48

View File

@ -51,12 +51,14 @@ pub fn cidr_parts(cidr: &str) -> Result<(&str, Option<&str>), IpNetworkError> {
} }
pub fn parse_prefix(prefix: &str, max: u8) -> Result<u8, IpNetworkError> { pub fn parse_prefix(prefix: &str, max: u8) -> Result<u8, IpNetworkError> {
let mask = prefix prefix
.parse::<u8>() .parse()
.map_err(|_| IpNetworkError::InvalidPrefix)?; .map_err(|_| IpNetworkError::InvalidPrefix)
if mask > max { .and_then(|mask| {
Err(IpNetworkError::InvalidPrefix) if mask > max {
} else { Err(IpNetworkError::InvalidPrefix)
Ok(mask) } else {
} Ok(mask)
}
})
} }