@@ -42,19 +42,15 @@ pub(crate) const fn ipv4addr_to_libc(addr: net::Ipv4Addr) -> libc::in_addr {
42
42
static_assertions:: assert_eq_size!( net:: Ipv4Addr , libc:: in_addr) ;
43
43
// Safe because both types have the same memory layout, and no fancy Drop
44
44
// impls.
45
- unsafe {
46
- mem:: transmute ( addr)
47
- }
45
+ unsafe { mem:: transmute ( addr) }
48
46
}
49
47
50
48
/// Convert a std::net::Ipv6Addr into the libc form.
51
49
#[ cfg( feature = "net" ) ]
52
50
pub ( crate ) const fn ipv6addr_to_libc ( addr : & net:: Ipv6Addr ) -> libc:: in6_addr {
53
51
static_assertions:: assert_eq_size!( net:: Ipv6Addr , libc:: in6_addr) ;
54
52
// Safe because both are Newtype wrappers around the same libc type
55
- unsafe {
56
- mem:: transmute ( * addr)
57
- }
53
+ unsafe { mem:: transmute ( * addr) }
58
54
}
59
55
60
56
/// These constants specify the protocol family to be used
@@ -79,7 +75,11 @@ pub enum AddressFamily {
79
75
#[ cfg_attr( docsrs, doc( cfg( all( ) ) ) ) ]
80
76
Netlink = libc:: AF_NETLINK ,
81
77
/// Kernel interface for interacting with the routing table
82
- #[ cfg( not( any( target_os = "redox" , target_os = "linux" , target_os = "android" ) ) ) ]
78
+ #[ cfg( not( any(
79
+ target_os = "redox" ,
80
+ target_os = "linux" ,
81
+ target_os = "android"
82
+ ) ) ) ]
83
83
Route = libc:: PF_ROUTE ,
84
84
/// Low level packet interface (see [`packet(7)`](https://man7.org/linux/man-pages/man7/packet.7.html))
85
85
#[ cfg( any(
@@ -422,7 +422,11 @@ impl AddressFamily {
422
422
libc:: AF_NETLINK => Some ( AddressFamily :: Netlink ) ,
423
423
#[ cfg( any( target_os = "macos" , target_os = "macos" ) ) ]
424
424
libc:: AF_SYSTEM => Some ( AddressFamily :: System ) ,
425
- #[ cfg( not( any( target_os = "redox" , target_os = "linux" , target_os = "android" ) ) ) ]
425
+ #[ cfg( not( any(
426
+ target_os = "redox" ,
427
+ target_os = "linux" ,
428
+ target_os = "android"
429
+ ) ) ) ]
426
430
libc:: PF_ROUTE => Some ( AddressFamily :: Route ) ,
427
431
#[ cfg( any( target_os = "android" , target_os = "linux" ) ) ]
428
432
libc:: AF_PACKET => Some ( AddressFamily :: Packet ) ,
@@ -592,10 +596,11 @@ impl UnixAddr {
592
596
pub fn new_unnamed ( ) -> UnixAddr {
593
597
let ret = libc:: sockaddr_un {
594
598
sun_family : AddressFamily :: Unix as sa_family_t ,
595
- .. unsafe { mem:: zeroed ( ) }
599
+ ..unsafe { mem:: zeroed ( ) }
596
600
} ;
597
601
598
- let sun_len: u8 = offset_of ! ( libc:: sockaddr_un, sun_path) . try_into ( ) . unwrap ( ) ;
602
+ let sun_len: u8 =
603
+ offset_of ! ( libc:: sockaddr_un, sun_path) . try_into ( ) . unwrap ( ) ;
599
604
600
605
unsafe { UnixAddr :: from_raw_parts ( ret, sun_len) }
601
606
}
@@ -1268,7 +1273,9 @@ impl SockaddrLike for SockaddrStorage {
1268
1273
if i32:: from ( ss. ss_family ) == libc:: AF_UNIX {
1269
1274
// Safe because we UnixAddr is strictly smaller than
1270
1275
// SockaddrStorage, and we just initialized the structure.
1271
- ( * ( & mut ss as * mut libc:: sockaddr_storage as * mut UnixAddr ) ) . sun_len = len as u8 ;
1276
+ ( * ( & mut ss as * mut libc:: sockaddr_storage
1277
+ as * mut UnixAddr ) )
1278
+ . sun_len = len as u8 ;
1272
1279
}
1273
1280
Some ( Self { ss } )
1274
1281
}
@@ -1343,7 +1350,7 @@ impl SockaddrLike for SockaddrStorage {
1343
1350
// The UnixAddr type knows its own length
1344
1351
Some ( ua) => ua. len ( ) ,
1345
1352
// For all else, we're just a boring SockaddrStorage
1346
- None => mem:: size_of_val ( self ) as libc:: socklen_t
1353
+ None => mem:: size_of_val ( self ) as libc:: socklen_t ,
1347
1354
}
1348
1355
}
1349
1356
}
@@ -1403,12 +1410,13 @@ impl SockaddrStorage {
1403
1410
}
1404
1411
}
1405
1412
// Sanity checks
1406
- if self . family ( ) != Some ( AddressFamily :: Unix ) ||
1407
- len < offset_of ! ( libc:: sockaddr_un, sun_path) ||
1408
- len > mem:: size_of :: < libc:: sockaddr_un > ( ) {
1413
+ if self . family ( ) != Some ( AddressFamily :: Unix )
1414
+ || len < offset_of ! ( libc:: sockaddr_un, sun_path)
1415
+ || len > mem:: size_of :: < libc:: sockaddr_un > ( )
1416
+ {
1409
1417
None
1410
1418
} else {
1411
- Some ( unsafe { & self . su } )
1419
+ Some ( unsafe { & self . su } )
1412
1420
}
1413
1421
}
1414
1422
@@ -1432,12 +1440,13 @@ impl SockaddrStorage {
1432
1440
}
1433
1441
}
1434
1442
// Sanity checks
1435
- if self . family ( ) != Some ( AddressFamily :: Unix ) ||
1436
- len < offset_of ! ( libc:: sockaddr_un, sun_path) ||
1437
- len > mem:: size_of :: < libc:: sockaddr_un > ( ) {
1443
+ if self . family ( ) != Some ( AddressFamily :: Unix )
1444
+ || len < offset_of ! ( libc:: sockaddr_un, sun_path)
1445
+ || len > mem:: size_of :: < libc:: sockaddr_un > ( )
1446
+ {
1438
1447
None
1439
1448
} else {
1440
- Some ( unsafe { & mut self . su } )
1449
+ Some ( unsafe { & mut self . su } )
1441
1450
}
1442
1451
}
1443
1452
@@ -2525,9 +2534,8 @@ mod tests {
2525
2534
fn from_sockaddr_un_named ( ) {
2526
2535
let ua = UnixAddr :: new ( "/var/run/mysock" ) . unwrap ( ) ;
2527
2536
let ptr = ua. as_ptr ( ) as * const libc:: sockaddr ;
2528
- let ss = unsafe {
2529
- SockaddrStorage :: from_raw ( ptr, Some ( ua. len ( ) ) )
2530
- } . unwrap ( ) ;
2537
+ let ss = unsafe { SockaddrStorage :: from_raw ( ptr, Some ( ua. len ( ) ) ) }
2538
+ . unwrap ( ) ;
2531
2539
assert_eq ! ( ss. len( ) , ua. len( ) ) ;
2532
2540
}
2533
2541
@@ -2537,9 +2545,8 @@ mod tests {
2537
2545
let name = String :: from ( "nix\0 abstract\0 test" ) ;
2538
2546
let ua = UnixAddr :: new_abstract ( name. as_bytes ( ) ) . unwrap ( ) ;
2539
2547
let ptr = ua. as_ptr ( ) as * const libc:: sockaddr ;
2540
- let ss = unsafe {
2541
- SockaddrStorage :: from_raw ( ptr, Some ( ua. len ( ) ) )
2542
- } . unwrap ( ) ;
2548
+ let ss = unsafe { SockaddrStorage :: from_raw ( ptr, Some ( ua. len ( ) ) ) }
2549
+ . unwrap ( ) ;
2543
2550
assert_eq ! ( ss. len( ) , ua. len( ) ) ;
2544
2551
}
2545
2552
@@ -2548,9 +2555,8 @@ mod tests {
2548
2555
fn from_sockaddr_un_abstract_unnamed ( ) {
2549
2556
let ua = UnixAddr :: new_unnamed ( ) ;
2550
2557
let ptr = ua. as_ptr ( ) as * const libc:: sockaddr ;
2551
- let ss = unsafe {
2552
- SockaddrStorage :: from_raw ( ptr, Some ( ua. len ( ) ) )
2553
- } . unwrap ( ) ;
2558
+ let ss = unsafe { SockaddrStorage :: from_raw ( ptr, Some ( ua. len ( ) ) ) }
2559
+ . unwrap ( ) ;
2554
2560
assert_eq ! ( ss. len( ) , ua. len( ) ) ;
2555
2561
}
2556
2562
}
0 commit comments