mirror of
https://github.com/achanda/ipnetwork.git
synced 2025-06-15 16:43:00 +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;
|
||||
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
||||
let (addr_str, prefix_str) = cidr_parts(s)?;
|
||||
let addr = Ipv6Addr::from_str(addr_str)
|
||||
.map_err(|_| IpNetworkError::InvalidAddr(addr_str.to_string()))?;
|
||||
let prefix = match prefix_str {
|
||||
Some(v) => parse_prefix(v, IPV6_BITS)?,
|
||||
None => IPV6_BITS,
|
||||
};
|
||||
Ipv6Network::new(addr, prefix)
|
||||
let addr = Ipv6Addr::from_str(addr_str).map_err(|e| IpNetworkError::InvalidAddr(e.to_string()))?;
|
||||
let prefix = parse_prefix(prefix_str.unwrap_or(&IPV6_BITS.to_string()), IPV6_BITS)?;
|
||||
Ok(Ipv6Network::new(addr, prefix)?)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
impl TryFrom<&str> for Ipv6Network {
|
||||
type Error = IpNetworkError;
|
||||
|
||||
|
Reference in New Issue
Block a user