2004-09-27 Paul Jakma <paul@dishone.st>

	* ospf_packet.c: (ospf_write) (struct msghdr).msg_name is caddr_t
	  on most platforms.
	  (ospf_recv_packet) ditto. And msg_flags is not always there
          memset struct then set fields we care about rather than
          initialise all fields individually.
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index 8423cab..3724e36 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -1,3 +1,11 @@
+2004-09-27 Paul Jakma <paul@dishone.st>
+
+	* ospf_packet.c: (ospf_write) (struct msghdr).msg_name is caddr_t
+	  on most platforms.
+	  (ospf_recv_packet) ditto. And msg_flags is not always there
+          memset struct then set fields we care about rather than 
+          initialise all fields individually.
+
 2004-09-26 Hasso Tepper <hasso at quagga.net>
 
 	* ospf_abr.c, ospf_dump.c, ospf_lsa.c, ospf_packet.c, ospf_vty.c,
diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c
index 67926fc..c362b9f 100644
--- a/ospfd/ospf_packet.c
+++ b/ospfd/ospf_packet.c
@@ -665,7 +665,7 @@
   iph.ip_dst.s_addr = op->dst.s_addr;
 
   memset (&msg, 0, sizeof (msg));
-  msg.msg_name = &sa_dst;
+  msg.msg_name = (caddr_t) &sa_dst;
   msg.msg_namelen = sizeof (sa_dst); 
   msg.msg_iov = iov;
   msg.msg_iovlen = 2;
@@ -2018,13 +2018,11 @@
 #endif
   struct msghdr msgh;
 
-  msgh.msg_name = NULL;
-  msgh.msg_namelen = 0;
+  memset (&msgh, 0, sizeof (struct msghdr));
   msgh.msg_iov = &iov;
   msgh.msg_iovlen = 1;
   msgh.msg_control = (caddr_t) buff;
   msgh.msg_controllen = sizeof (buff);
-  msgh.msg_flags = 0;
   
   ret = recvfrom (fd, (void *)&iph, sizeof (iph), MSG_PEEK, NULL, 0);