@@ -632,8 +632,8 @@ pub(crate) fn to_in6_addr(addr: &Ipv6Addr) -> in6_addr {
632632 ret
633633}
634634
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 ( ) } )
637637}
638638
639639/// Windows only API.
@@ -686,24 +686,25 @@ impl FromRawSocket for crate::Socket {
686686}
687687
688688#[ test]
689- fn test_ipv4 ( ) {
689+ fn in_addr_convertion ( ) {
690690 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) ;
692694
693695 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) ;
699702}
700703
701704#[ 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 ( ) {
706706 let ip = Ipv6Addr :: new ( 0x2000 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ) ;
707+ let raw = to_in6_addr ( & ip) ;
707708 let want = [
708709 0x2000u16 . to_be ( ) ,
709710 1u16 . to_be ( ) ,
@@ -714,8 +715,6 @@ fn test_ipv6() {
714715 6u16 . to_be ( ) ,
715716 7u16 . to_be ( ) ,
716717 ] ;
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) ;
721720}
0 commit comments