X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/ef514bbcec865ded4d2d040358e13c7432c15e1a..14c634e049bf7680c203b9755c349d5f575f2527:/src/setup.c?ds=sidebyside diff --git a/src/setup.c b/src/setup.c index 267f3da..fdbc6d0 100644 --- a/src/setup.c +++ b/src/setup.c @@ -627,11 +627,8 @@ static int init_finish(adns_state ads) { proto= getprotobyname("udp"); if (!proto) { r= ENOPROTOOPT; goto x_free; } ads->nudp = 0; for (i = 0; i < ads->nservers; i++) { - for (j = 0; j < ads->nudp; j++) { - if (ads->udpsocket[j].ai->af == ads->servers[i].addr.sa.sa_family) - goto afmatch; - } - + if (adns__udpsocket_by_af(ads, ads->servers[i].addr.sa.sa_family)) + continue; assert(ads->nudp < MAXUDP); udp = &ads->udpsocket[ads->nudp]; udp->ai = find_afinfo(ads->servers[i].addr.sa.sa_family); @@ -641,8 +638,6 @@ static int init_finish(adns_state ads) { r= adns__setnonblock(ads,udp->fd); if (r) { r= errno; goto x_closeudp; } ads->nudp++; - - afmatch:; } return 0;