From: Amos Jeffries Date: Sat, 29 Mar 2008 06:11:36 +0000 (+1200) Subject: Replace a goto with do-while X-Git-Tag: SQUID_3_0_STABLE3~4^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2b97b48369f3c9f26b269b2258faeef67f1381fb;p=thirdparty%2Fsquid.git Replace a goto with do-while --- diff --git a/src/dns_internal.cc b/src/dns_internal.cc index 771f1e5619..f3c7f91975 100644 --- a/src/dns_internal.cc +++ b/src/dns_internal.cc @@ -768,29 +768,26 @@ idnsSendQuery(idns_query * q) assert(q->lru.prev == NULL); -try_again: - ns = q->nsends % nns; + do { + ns = q->nsends % nns; - if (q->need_vc) { - idnsSendQueryVC(q, ns); - x = 0; - } else - x = comm_udp_sendto(DnsSocket, - &nameservers[ns].S, - sizeof(nameservers[ns].S), - q->buf, - q->sz); + if (q->need_vc) { + idnsSendQueryVC(q, ns); + x = 0; + } else { + x = comm_udp_sendto(DnsSocket, nameservers[ns].S, sizeof(nameservers[ns].S), q->buf, q->sz); + } - q->nsends++; + q->nsends++; - q->sent_t = current_time; + q->sent_t = current_time; - if (x < 0) { - debugs(50, 1, "idnsSendQuery: FD " << DnsSocket << ": sendto: " << xstrerror()); + if (x < 0) + debugs(50, 1, "idnsSendQuery: FD " << DnsSocket << ": sendto: " << xstrerror()); - if (q->nsends % nns != 0) - goto try_again; - } else { + } while( x<0 && q->nsends % nns != 0); + + if(x >= 0) { fd_bytes(DnsSocket, x, FD_WRITE); commSetSelect(DnsSocket, COMM_SELECT_READ, idnsRead, NULL, 0); }