]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Replace a goto with do-while
authorAmos Jeffries <squid3@treenet.co.nz>
Sun, 23 Mar 2008 12:04:09 +0000 (00:04 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Sun, 23 Mar 2008 12:04:09 +0000 (00:04 +1200)
src/dns_internal.cc

index 9a9c1970622b5f9a64960e1765a65f4ccdd79bd7..3aed082c3094e181f3043ca0f7e15397cd55dcdc 100644 (file)
@@ -774,28 +774,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,
-                            q->buf,
-                            q->sz);
+        if (q->need_vc) {
+            idnsSendQueryVC(q, ns);
+            x = 0;
+        } else {
+            x = comm_udp_sendto(DnsSocket, 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);
     }