Remove nested struct/union in cache records and all_addr.
diff --git a/src/dnsmasq.c b/src/dnsmasq.c
index 5a52ea7..5806980 100644
--- a/src/dnsmasq.c
+++ b/src/dnsmasq.c
@@ -1721,12 +1721,12 @@
 	      if ((if_index = tcp_interface(confd, tcp_addr.sa.sa_family)) != 0 &&
 		  indextoname(listener->tcpfd, if_index, intr_name))
 		{
-		  struct all_addr addr;
+		  union all_addr addr;
 		  
 		  if (tcp_addr.sa.sa_family == AF_INET6)
-		    addr.addr.addr6 = tcp_addr.in6.sin6_addr;
+		    addr.addr6 = tcp_addr.in6.sin6_addr;
 		  else
-		    addr.addr.addr4 = tcp_addr.in.sin_addr;
+		    addr.addr4 = tcp_addr.in.sin_addr;
 		  
 		  for (iface = daemon->interfaces; iface; iface = iface->next)
 		    if (iface->index == if_index)