@@ -632,8 +632,8 @@ pub(crate) fn to_in6_addr(addr: &Ipv6Addr) -> in6_addr {
632
632
ret
633
633
}
634
634
635
- pub ( crate ) fn from_in6_addr ( in6_addr : in6_addr ) -> Ipv6Addr {
636
- Ipv6Addr :: from ( * unsafe { in6_addr . u . Byte ( ) } )
635
+ pub ( crate ) fn from_in6_addr ( addr : in6_addr ) -> Ipv6Addr {
636
+ Ipv6Addr :: from ( * unsafe { addr . u . Byte ( ) } )
637
637
}
638
638
639
639
/// Windows only API.
@@ -686,24 +686,25 @@ impl FromRawSocket for crate::Socket {
686
686
}
687
687
688
688
#[ test]
689
- fn test_ipv4 ( ) {
689
+ fn in_addr_convertion ( ) {
690
690
let ip = Ipv4Addr :: new ( 127 , 0 , 0 , 1 ) ;
691
- assert_eq ! ( ip, from_in_addr( to_in_addr( & ip) ) ) ;
691
+ let raw = to_in_addr ( & ip) ;
692
+ assert_eq ! ( unsafe { * raw. S_un . S_addr ( ) } , 127 << 0 | 1 << 24 ) ;
693
+ assert_eq ! ( from_in_addr( raw) , ip) ;
692
694
693
695
let ip = Ipv4Addr :: new ( 127 , 34 , 4 , 12 ) ;
694
- let want = 127 << 0 | 34 << 8 | 4 << 16 | 12 << 24 ;
695
- assert_eq ! ( unsafe { * to_in_addr( & ip) . S_un . S_addr ( ) } , want) ;
696
- let mut addr: in_addr_S_un = unsafe { mem:: zeroed ( ) } ;
697
- unsafe { * ( addr. S_addr_mut ( ) ) = want } ;
698
- assert_eq ! ( from_in_addr( IN_ADDR { S_un : addr } ) , ip) ;
696
+ let raw = to_in_addr ( & ip) ;
697
+ assert_eq ! (
698
+ unsafe { * raw. S_un . S_addr ( ) } ,
699
+ 127 << 0 | 34 << 8 | 4 << 16 | 12 << 24
700
+ ) ;
701
+ assert_eq ! ( from_in_addr( raw) , ip) ;
699
702
}
700
703
701
704
#[ test]
702
- fn test_ipv6 ( ) {
703
- let ip = Ipv6Addr :: new ( 0x2000 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ) ;
704
- assert_eq ! ( ip, from_in6_addr( to_in6_addr( & ip) ) ) ;
705
-
705
+ fn in6_addr_convertion ( ) {
706
706
let ip = Ipv6Addr :: new ( 0x2000 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ) ;
707
+ let raw = to_in6_addr ( & ip) ;
707
708
let want = [
708
709
0x2000u16 . to_be ( ) ,
709
710
1u16 . to_be ( ) ,
@@ -714,8 +715,6 @@ fn test_ipv6() {
714
715
6u16 . to_be ( ) ,
715
716
7u16 . to_be ( ) ,
716
717
] ;
717
- assert_eq ! ( unsafe { * to_in6_addr( & ip) . u. Word ( ) } , want) ;
718
- let mut addr: in6_addr_u = unsafe { mem:: zeroed ( ) } ;
719
- unsafe { * ( addr. Word_mut ( ) ) = want } ;
720
- assert_eq ! ( from_in6_addr( IN6_ADDR { u: addr } ) , ip) ;
718
+ assert_eq ! ( unsafe { * raw. u. Word ( ) } , want) ;
719
+ assert_eq ! ( from_in6_addr( raw) , ip) ;
721
720
}
0 commit comments