Portability fix for systems where socklen_t is bigger than int.
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 2 Nov 2014 23:15:52 +0000 (23:15 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 2 Nov 2014 23:16:14 +0000 (23:16 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
changelog
src/event.c
src/setup.c

index aa44b38..a3e7dbb 100644 (file)
--- a/changelog
+++ b/changelog
@@ -1,6 +1,6 @@
 adns (1.5.1~~) unstable; urgency=low
 
-  * 
+  * Portability fix for systems where socklen_t is bigger than int.
 
  --
 
index 3dd927b..eec4b6a 100644 (file)
@@ -339,7 +339,8 @@ int adns__pollfds(adns_state ads, struct pollfd pollfds_buf[MAX_POLLFDS]) {
 }
 
 int adns_processreadable(adns_state ads, int fd, const struct timeval *now) {
-  int want, dgramlen, r, i, udpaddrlen, serv, old_skip;
+  int want, dgramlen, r, i, serv, old_skip;
+  socklen_t udpaddrlen;
   byte udpbuf[DNS_MAXUDP];
   char addrbuf[ADNS_ADDR2TEXT_BUFLEN];
   struct udpsocket *udp;
index 7171f5b..c67b042 100644 (file)
@@ -113,9 +113,11 @@ static void ccf_nameserver(adns_state ads, const char *fn,
   adns_rr_addr a;
   char addrbuf[ADNS_ADDR2TEXT_BUFLEN];
   int err;
+  socklen_t salen;
 
-  a.len= sizeof(a.addr);
-  err= adns_text2addr(buf,DNS_PORT, 0, &a.addr.sa,&a.len);
+  salen= sizeof(a.addr);
+  err= adns_text2addr(buf,DNS_PORT, 0, &a.addr.sa,&salen);
+  a.len= salen;
   switch (err) {
   case 0:
     break;
@@ -129,7 +131,7 @@ static void ccf_nameserver(adns_state ads, const char *fn,
   }
   adns__debug(ads,-1,0,"using nameserver %s",
              adns__sockaddr_ntoa(&a.addr.sa, addrbuf));
-  addserver(ads,&a.addr.sa,a.len);
+  addserver(ads,&a.addr.sa,salen);
 }
 
 static void ccf_search(adns_state ads, const char *fn,
@@ -167,7 +169,7 @@ static void ccf_search(adns_state ads, const char *fn,
 
 static int gen_pton(const char *text, int want_af, adns_sockaddr *a) {
   int err;
-  int len;
+  socklen_t len;
 
   len= sizeof(*a);
   err= adns_text2addr(text,0, adns_qf_addrlit_scope_forbid,