mirror of
https://github.com/achanda/ipnetwork.git
synced 2025-06-17 01:08:53 +00:00
Use the new ? operator
This commit is contained in:
@ -17,7 +17,7 @@ pub fn cidr_parts<'a>(cidr: &'a str) -> Result<(&'a str, &'a str), IpNetworkErro
|
||||
}
|
||||
|
||||
pub fn parse_prefix(prefix: &str, max: u8) -> Result<u8, IpNetworkError> {
|
||||
let mask = try!(prefix.parse::<u8>().map_err(|_| IpNetworkError::InvalidPrefix));
|
||||
let mask = prefix.parse::<u8>().map_err(|_| IpNetworkError::InvalidPrefix)?;
|
||||
if mask > max {
|
||||
Err(IpNetworkError::InvalidPrefix)
|
||||
} else {
|
||||
@ -32,9 +32,9 @@ pub fn parse_addr(addr: &str) -> Result<Ipv4Addr, IpNetworkError> {
|
||||
if i >= 4 {
|
||||
return Err(IpNetworkError::InvalidAddr(format!("More than 4 bytes: {}", addr)));
|
||||
}
|
||||
bytes[i] = try!(byte.map_err(|_| {
|
||||
bytes[i] = byte.map_err(|_| {
|
||||
IpNetworkError::InvalidAddr(format!("All bytes not 0-255: {}", addr))
|
||||
}));
|
||||
})?;
|
||||
}
|
||||
Ok(Ipv4Addr::new(bytes[0], bytes[1], bytes[2], bytes[3]))
|
||||
}
|
||||
|
Reference in New Issue
Block a user