mirror of
https://github.com/achanda/ipnetwork.git
synced 2025-06-16 08:48:51 +00:00
Simplify FromStr for Ipv6Network
This commit is contained in:

committed by
Abhishek Chanda

parent
ef3f536d48
commit
a96f30d64e
12
src/ipv6.rs
12
src/ipv6.rs
@ -263,16 +263,14 @@ impl FromStr for Ipv6Network {
|
|||||||
type Err = IpNetworkError;
|
type Err = IpNetworkError;
|
||||||
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
||||||
let (addr_str, prefix_str) = cidr_parts(s)?;
|
let (addr_str, prefix_str) = cidr_parts(s)?;
|
||||||
let addr = Ipv6Addr::from_str(addr_str)
|
let addr = Ipv6Addr::from_str(addr_str).map_err(|e| IpNetworkError::InvalidAddr(e.to_string()))?;
|
||||||
.map_err(|_| IpNetworkError::InvalidAddr(addr_str.to_string()))?;
|
let prefix = parse_prefix(prefix_str.unwrap_or(&IPV6_BITS.to_string()), IPV6_BITS)?;
|
||||||
let prefix = match prefix_str {
|
Ok(Ipv6Network::new(addr, prefix)?)
|
||||||
Some(v) => parse_prefix(v, IPV6_BITS)?,
|
|
||||||
None => IPV6_BITS,
|
|
||||||
};
|
|
||||||
Ipv6Network::new(addr, prefix)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
impl TryFrom<&str> for Ipv6Network {
|
impl TryFrom<&str> for Ipv6Network {
|
||||||
type Error = IpNetworkError;
|
type Error = IpNetworkError;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user