]> granicus.if.org Git - curl/commitdiff
tests/server/resolve.c: fix deprecation warning
authorMarcel Raad <Marcel.Raad@teamviewer.com>
Sun, 16 Jul 2017 12:28:10 +0000 (14:28 +0200)
committerMarcel Raad <Marcel.Raad@teamviewer.com>
Tue, 18 Jul 2017 08:23:47 +0000 (10:23 +0200)
MSVC warns that gethostbyname is deprecated. Always use getaddrinfo
instead to fix this when IPv6 is enabled, also for IPv4 resolves. This
is also consistent with what libcurl does.

Closes https://github.com/curl/curl/pull/1682

tests/server/resolve.c

index 206245aba9a29ceffa14e258b111a83833c8e682..34f14e066f3594069fb09f9727f0a002e0a2dbe5 100644 (file)
@@ -107,16 +107,8 @@ int main(int argc, char *argv[])
   atexit(win32_cleanup);
 #endif
 
-  if(!use_ipv6) {
-    /* gethostbyname() resolve */
-    struct hostent *he;
-
-    he = gethostbyname(host);
-
-    rc = !he;
-  }
-  else {
 #ifdef ENABLE_IPV6
+  if(use_ipv6) {
     /* Check that the system has IPv6 enabled before checking the resolver */
     curl_socket_t s = socket(PF_INET6, SOCK_DGRAM, 0);
     if(s == CURL_SOCKET_BAD)
@@ -125,28 +117,38 @@ int main(int argc, char *argv[])
     else {
       sclose(s);
     }
+  }
 
-    if(rc == 0) {
-      /* getaddrinfo() resolve */
-      struct addrinfo *ai;
-      struct addrinfo hints;
-
-      memset(&hints, 0, sizeof(hints));
-      hints.ai_family = PF_INET6;
-      hints.ai_socktype = SOCK_STREAM;
-      hints.ai_flags = AI_CANONNAME;
-      /* Use parenthesis around functions to stop them from being replaced by
-         the macro in memdebug.h */
-      rc = (getaddrinfo)(host, "80", &hints, &ai);
-      if(rc == 0)
-        (freeaddrinfo)(ai);
-    }
-
+  if(rc == 0) {
+    /* getaddrinfo() resolve */
+    struct addrinfo *ai;
+    struct addrinfo hints;
+
+    memset(&hints, 0, sizeof(hints));
+    hints.ai_family = use_ipv6 ? PF_INET6 : PF_INET;
+    hints.ai_socktype = SOCK_STREAM;
+    hints.ai_flags = AI_CANONNAME;
+    /* Use parenthesis around functions to stop them from being replaced by
+       the macro in memdebug.h */
+    rc = (getaddrinfo)(host, "80", &hints, &ai);
+    if(rc == 0)
+      (freeaddrinfo)(ai);
+  }
 #else
+  if(use_ipv6) {
     puts("IPv6 support has been disabled in this program");
     return 1;
-#endif
   }
+  else {
+    /* gethostbyname() resolve */
+    struct hostent *he;
+
+    he = gethostbyname(host);
+
+    rc = !he;
+  }
+#endif
+
   if(rc)
     printf("Resolving %s '%s' didn't work\n", ipv_inuse, host);