mirror of
https://github.com/achanda/ipnetwork.git
synced 2025-06-16 16:58:50 +00:00
Merge pull request #25 from achanda/remove_parse_addr
Cleanup parse_addr
This commit is contained in:
14
src/ipv4.rs
14
src/ipv4.rs
@ -162,20 +162,6 @@ impl Ipv4Network {
|
|||||||
None
|
None
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_addr(addr: &str) -> Result<Ipv4Addr, IpNetworkError> {
|
|
||||||
let addr_parts = addr.split('.').map(|b| b.parse::<u8>());
|
|
||||||
let mut bytes = [0; 4];
|
|
||||||
for (i, byte) in addr_parts.enumerate() {
|
|
||||||
if i >= 4 {
|
|
||||||
return Err(IpNetworkError::InvalidAddr(format!("More than 4 bytes: {}", addr)));
|
|
||||||
}
|
|
||||||
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]))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::Display for Ipv4Network {
|
impl fmt::Display for Ipv4Network {
|
||||||
|
Reference in New Issue
Block a user