[vlc-commits] freeaddrinfo: rewrite as iterative
    Rémi Denis-Courmont 
    git at videolan.org
       
    Sat Nov 22 10:21:29 CET 2014
    
    
  
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sat Nov 22 11:20:24 2014 +0200| [4716a65fc63c00a3970f65848ce3d94809d22ef0] | committer: Rémi Denis-Courmont
freeaddrinfo: rewrite as iterative
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4716a65fc63c00a3970f65848ce3d94809d22ef0
---
 compat/freeaddrinfo.c |   15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/compat/freeaddrinfo.c b/compat/freeaddrinfo.c
index 0d5a1d8..fecc3fa 100644
--- a/compat/freeaddrinfo.c
+++ b/compat/freeaddrinfo.c
@@ -34,12 +34,13 @@
  */
 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;
+    }
 }
    
    
More information about the vlc-commits
mailing list