From 8b9cc94c86219c75366c091e8a604d3420c155a0 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 2 Nov 2014 23:15:52 +0000 Subject: [PATCH] Portability fix for systems where socklen_t is bigger than int. Signed-off-by: Ian Jackson --- changelog | 2 +- src/event.c | 3 ++- src/setup.c | 10 ++++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/changelog b/changelog index aa44b38..a3e7dbb 100644 --- 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. -- diff --git a/src/event.c b/src/event.c index 3dd927b..eec4b6a 100644 --- a/src/event.c +++ b/src/event.c @@ -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; diff --git a/src/setup.c b/src/setup.c index 7171f5b..c67b042 100644 --- a/src/setup.c +++ b/src/setup.c @@ -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, -- 2.30.2