mirror of
https://github.com/achanda/ipnetwork.git
synced 2025-06-16 16:58:50 +00:00
simpler way of doing it
This commit is contained in:
13
src/ipv4.rs
13
src/ipv4.rs
@ -190,14 +190,11 @@ impl FromStr for Ipv4Network {
|
|||||||
fn from_str(s: &str) -> Result<Ipv4Network, IpNetworkError> {
|
fn from_str(s: &str) -> Result<Ipv4Network, IpNetworkError> {
|
||||||
let (addr_str, prefix_str) = cidr_parts(s)?;
|
let (addr_str, prefix_str) = cidr_parts(s)?;
|
||||||
let addr = parse_addr(addr_str)?;
|
let addr = parse_addr(addr_str)?;
|
||||||
let prefix = parse_prefix(
|
let prefix = if prefix_str.is_empty() {
|
||||||
if prefix_str.is_empty() {
|
IPV4_BITS
|
||||||
IPV4_BITS.to_string()
|
}else {
|
||||||
} else {
|
parse_prefix(prefix_str, IPV4_BITS)?
|
||||||
prefix_str
|
};
|
||||||
},
|
|
||||||
IPV4_BITS,
|
|
||||||
)?;
|
|
||||||
Ipv4Network::new(addr, prefix)
|
Ipv4Network::new(addr, prefix)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
13
src/ipv6.rs
13
src/ipv6.rs
@ -170,14 +170,11 @@ impl FromStr for Ipv6Network {
|
|||||||
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(|_| IpNetworkError::InvalidAddr(addr_str.to_string()))?;
|
.map_err(|_| IpNetworkError::InvalidAddr(addr_str.to_string()))?;
|
||||||
let prefix = parse_prefix(
|
let prefix = if prefix_str.is_empty() {
|
||||||
if prefix_str.is_empty() {
|
IPV6_BITS
|
||||||
IPV6_BITS.to_string()
|
}else {
|
||||||
} else {
|
parse_prefix(prefix_str, IPV6_BITS)?
|
||||||
prefix_str
|
};
|
||||||
},
|
|
||||||
IPV6_BITS,
|
|
||||||
)?;
|
|
||||||
Ipv6Network::new(addr, prefix)
|
Ipv6Network::new(addr, prefix)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user