]> git.gsnw.org Git - fping.git/commitdiff
fping: Initialize msghdr struct in a portable way
authorKhem Raj <raj.khem@gmail.com>
Mon, 29 Aug 2022 22:41:51 +0000 (15:41 -0700)
committerDavid Schweikert <david@schweikert.ch>
Sun, 27 Aug 2023 09:04:35 +0000 (11:04 +0200)
Initializing the structure assuming glibc layout results in
compile errors on musl, therefore do partial intialization and then
assigning the members individually.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
src/fping.c

index 1e5af89a795f29b6ac25f178c26b37bb5850a3af..fcb1c81ed354fd3aec033ac74795d3c8f7c830b5 100644 (file)
@@ -1962,15 +1962,13 @@ int receive_packet(int64_t wait_time,
         reply_buf,
         reply_buf_len
     };
-    struct msghdr recv_msghdr = {
-        reply_src_addr,
-        reply_src_addr_len,
-        &msg_iov,
-        1,
-        &msg_control,
-        sizeof(msg_control),
-        0
-    };
+    struct msghdr recv_msghdr = {0};
+    recv_msghdr.msg_name = reply_src_addr;
+    recv_msghdr.msg_namelen = reply_src_addr_len;
+    recv_msghdr.msg_iov = &msg_iov;
+    recv_msghdr.msg_iovlen = 1;
+    recv_msghdr.msg_control = &msg_control;
+    recv_msghdr.msg_controllen = sizeof(msg_control);
 #if HAVE_SO_TIMESTAMPNS
     struct cmsghdr *cmsg;
 #endif