]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
corrected socket loop. Based on patch by Mantas Mikulenas.
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Mon, 26 Nov 2012 21:55:53 +0000 (22:55 +0100)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Mon, 26 Nov 2012 22:34:42 +0000 (23:34 +0100)
src/socket.c

index f90148213b67be2f6eea1079a0d9317c8d5ee7cd..20c366f788cd32bd2d28c48fec13774f3c7419ee 100644 (file)
@@ -156,8 +156,7 @@ socket_open (socket_st * hd, const char *hostname, const char *service, int udp)
                               NI_NUMERICHOST | NI_NUMERICSERV)) != 0)
         {
           fprintf (stderr, "getnameinfo(): %s\n", gai_strerror (err));
-          freeaddrinfo (res);
-          exit (1);
+          continue;
         }
 
       if (hints.ai_socktype == SOCK_DGRAM)
@@ -176,18 +175,21 @@ socket_open (socket_st * hd, const char *hostname, const char *service, int udp)
         }
 
 
-      printf ("Connecting to '%s:%s'...\n", hostname, portname);
+      printf ("Connecting to '%s:%s'...\n", buffer, portname);
 
       err = connect (sd, ptr->ai_addr, ptr->ai_addrlen);
       if (err < 0)
         {
-          fprintf (stderr, "Cannot connect to %s:%s: %s\n", hostname,
+          fprintf (stderr, "Cannot connect to %s:%s: %s\n", buffer,
                    portname, strerror (errno));
-          exit (1);
+          continue;
         }
       break;
     }
 
+  if (err != 0)
+    exit(1);
+
   if (sd == -1)
     {
       fprintf (stderr, "Could not find a supported socket\n");