diff udp.c @ 683:095009fc2f35 libavformat

kill warnings patch by (Mns Rullgrd <mru inprovide com>)
author michael
date Thu, 24 Feb 2005 19:08:50 +0000
parents 1bbcf7b444ae
children 5f9e330500d9
line wrap: on
line diff
--- a/udp.c	Thu Feb 24 15:18:02 2005 +0000
+++ b/udp.c	Thu Feb 24 19:08:50 2005 +0000
@@ -160,14 +160,14 @@
     socklen_t addrlen;
     char sbuf[NI_MAXSERV];
     char hbuf[NI_MAXHOST];
-    struct addrinfo *res0;
+    struct addrinfo *res0 = NULL;
     int family;
                 
     if (s->local_port != 0) {       
         res0 = udp_ipv6_resolve_host(0, s->local_port, SOCK_DGRAM, AF_UNSPEC, AI_PASSIVE);
-        if (res0 == 0) return -1;
+        if (res0 == 0)
+            goto fail;
         family = res0->ai_family;
-        freeaddrinfo(res0);
     } else {
         family = s->dest_addr.ss_family;
     }
@@ -183,6 +183,8 @@
             perror("bind");
             goto fail;
         }
+        freeaddrinfo(res0);
+        res0 = NULL;
     } 
 
     addrlen = sizeof(clientaddr);
@@ -207,6 +209,8 @@
 #else
         close(udp_fd);
 #endif
+    if(res0)
+        freeaddrinfo(res0);
     return -1;
 }
 
@@ -274,13 +278,16 @@
 /* return non zero if error */
 static int udp_open(URLContext *h, const char *uri, int flags)
 {
-    struct sockaddr_in my_addr, my_addr1;
     char hostname[1024];
     int port, udp_fd = -1, tmp;
     UDPContext *s = NULL;
-    int is_output, len;
+    int is_output;
     const char *p;
     char buf[256];
+#ifndef CONFIG_IPV6
+    struct sockaddr_in my_addr, my_addr1;
+    int len;
+#endif
 
     h->is_streamed = 1;
     h->max_packet_size = 1472;