From ef3f536d485cedbf4b1b23476481f8207c926918 Mon Sep 17 00:00:00 2001 From: Abhishek Chanda Date: Thu, 6 Apr 2023 20:47:22 -0500 Subject: [PATCH] Make parse_prefix more idiomatic --- src/common.rs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/common.rs b/src/common.rs index 1e05ed6..ee92984 100644 --- a/src/common.rs +++ b/src/common.rs @@ -51,12 +51,14 @@ pub fn cidr_parts(cidr: &str) -> Result<(&str, Option<&str>), IpNetworkError> { } pub fn parse_prefix(prefix: &str, max: u8) -> Result { - let mask = prefix - .parse::() - .map_err(|_| IpNetworkError::InvalidPrefix)?; - if mask > max { - Err(IpNetworkError::InvalidPrefix) - } else { - Ok(mask) - } + prefix + .parse() + .map_err(|_| IpNetworkError::InvalidPrefix) + .and_then(|mask| { + if mask > max { + Err(IpNetworkError::InvalidPrefix) + } else { + Ok(mask) + } + }) }