Update for latest UDNS
[cascardo/chat.git] / sort_udns.c
index 8b0336b..8b919f6 100644 (file)
@@ -79,7 +79,7 @@ static void dns_srv_switch (struct dns_srv* srvaddr, int j, int i)
  * according to RFC 2782..
  */
 
-void dns_srv_sort (struct dns_srv* srvaddr, int n)
+void hc_dns_srv_sort (struct dns_srv* srvaddr, int n)
 {
   int i;
   int j;
@@ -93,32 +93,32 @@ void dns_srv_sort (struct dns_srv* srvaddr, int n)
       sum = 0;
       /* Compute the sum of weights for the priority prio */
       for (i = j; i < n && srvaddr[i].priority == prio; i++)
-       {
-         sum += srvaddr[i].weight;
-       }
+        {
+          sum += srvaddr[i].weight;
+        }
       /* If there is no more nodes with priority prio, get next prio */
       if (i == j && srvaddr[i].priority > prio)
-       {
-         prio = srvaddr[i].priority;
-       }
+        {
+          prio = srvaddr[i].priority;
+        }
       else
-       {
-         while (sum > 0)
-           {
-             wrand = random_int_range (0, sum + 1);
-             for (i = j; i < n && srvaddr[i].weight < wrand; i++)
-               {
-                 wrand -= srvaddr[i].weight;
-               }
-             assert (i < n);
-             assert (srvaddr[i].priority == prio);
-             dns_srv_switch (srvaddr, j, i);
-             sum -= srvaddr[j].weight;
-             j++;
-           }
-         /* Those remaining addresses with weight 0 */
-         for (i = j; i < n && srvaddr[i].priority == prio; i++, j++);
-       }
+        {
+          while (sum > 0)
+            {
+              wrand = random_int_range (0, sum + 1);
+              for (i = j; i < n && srvaddr[i].weight < wrand; i++)
+                {
+                  wrand -= srvaddr[i].weight;
+                }
+              assert (i < n);
+              assert (srvaddr[i].priority == prio);
+              dns_srv_switch (srvaddr, j, i);
+              sum -= srvaddr[j].weight;
+              j++;
+            }
+          /* Those remaining addresses with weight 0 */
+          for (i = j; i < n && srvaddr[i].priority == prio; i++, j++);
+        }
     }
 }
 
@@ -138,7 +138,7 @@ int main (int argc, char** argv)
   char* domain = "holoscopio.com.";
   if (argc > 1)
     domain = argv[1];
-  dns_init (1);
+  dns_init (NULL, 1);
   rr = dns_resolve_srv (NULL, domain, "xmpp-client", "tcp", 0);
   if (rr == NULL)
     {
@@ -152,7 +152,7 @@ int main (int argc, char** argv)
       printf ("%s %d %d %d\n", srv->name, srv->port, srv->priority, srv->weight);
     }
   srandom (time (0));
-  dns_srv_sort (rr->dnssrv_srv, rr->dnssrv_nrr);
+  hc_dns_srv_sort (rr->dnssrv_srv, rr->dnssrv_nrr);
   printf ("\nAfter sorting:\n");
   for (i = 0; i < rr->dnssrv_nrr; i++)
     {