pass a NULL pointer in the service argument (the second) if the port number
authorDaniel Stenberg <daniel@haxx.se>
Mon, 10 Oct 2005 18:28:05 +0000 (18:28 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 10 Oct 2005 18:28:05 +0000 (18:28 +0000)
was 0 as it seems at least some AIX versions don't like a "0" string there

lib/hostip6.c

index be86a51..aa25de3 100644 (file)
@@ -202,6 +202,7 @@ Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn,
   struct addrinfo hints, *res;
   int error;
   char sbuf[NI_MAXSERV];
+  char *sbufptr = NULL;
   char addrbuf[128];
   curl_socket_t s;
   int pf;
@@ -255,8 +256,11 @@ Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn,
   hints.ai_socktype = conn->socktype;
 
   hints.ai_flags = ai_flags;
-  snprintf(sbuf, sizeof(sbuf), "%d", port);
-  error = getaddrinfo(hostname, sbuf, &hints, &res);
+  if(port) {
+    snprintf(sbuf, sizeof(sbuf), "%d", port);
+    sbufptr=sbuf;
+  }
+  error = getaddrinfo(hostname, sbufptr, &hints, &res);
   if (error) {
     infof(data, "getaddrinfo(3) failed for %s:%d\n", hostname, port);
     return NULL;