From 7cef159eeb545e40eec79cf035c601b2ac75d1ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Linus=20F=C3=A4rnstrand?= Date: Sat, 7 Nov 2020 02:04:50 +0100 Subject: [PATCH] Replace ..mem::zeroed() with conditional real fields --- src/sockaddr.rs | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/sockaddr.rs b/src/sockaddr.rs index 7ee357fb..508e4d01 100644 --- a/src/sockaddr.rs +++ b/src/sockaddr.rs @@ -216,7 +216,16 @@ impl From for SockAddr { sin_family: AF_INET as sa_family_t, sin_port: addr.port().to_be(), sin_addr, - ..unsafe { mem::zeroed() } + sin_zero: [0; 8], + #[cfg(any( + target_os = "dragonfly", + target_os = "freebsd", + target_os = "ios", + target_os = "macos", + target_os = "netbsd", + target_os = "openbsd" + ))] + sin_len: 0, }; SockAddr { storage: unsafe { storage.assume_init() }, @@ -255,7 +264,17 @@ impl From for SockAddr { sin6_scope_id: addr.scope_id(), #[cfg(windows)] u, - ..unsafe { mem::zeroed() } + #[cfg(any( + target_os = "dragonfly", + target_os = "freebsd", + target_os = "ios", + target_os = "macos", + target_os = "netbsd", + target_os = "openbsd" + ))] + sin6_len: 0, + #[cfg(any(target_os = "solaris", target_os = "illumos"))] + __sin6_src_id: 0, }; SockAddr { storage: unsafe { storage.assume_init() },