]> git.sesse.net Git - vlc/commitdiff
freeaddrinfo: rewrite as iterative
authorRémi Denis-Courmont <remi@remlab.net>
Sat, 22 Nov 2014 09:20:24 +0000 (11:20 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Sat, 22 Nov 2014 09:20:24 +0000 (11:20 +0200)
compat/freeaddrinfo.c

index 0d5a1d8cdba36ae4e2f4966a136fac90b4a5f78c..fecc3fa7dde3cef3c769afdc710c7156714f759b 100644 (file)
  */
 void freeaddrinfo (struct addrinfo *res)
 {
-    if (res == NULL)
-        return;
+    while (res != NULL)
+    {
+        struct addrinfo *next = res->ai_next;
 
-    freeaddrinfo (res->ai_next);
-
-    free (res->ai_canonname);
-    free (res->ai_addr);
-    free (res);
+        free (res->ai_canonname);
+        free (res->ai_addr);
+        free (res);
+        res = next;
+    }
 }