]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
avoid using Curl_ip2addr(), simply build up a fake Curl_addrinfo
authorYang Tse <yangsita@gmail.com>
Mon, 27 Oct 2008 03:00:47 +0000 (03:00 +0000)
committerYang Tse <yangsita@gmail.com>
Mon, 27 Oct 2008 03:00:47 +0000 (03:00 +0000)
tests/libtest/lib558.c

index bf4f9149f08b64e06953887dc9bb585a11bab0ac..9dabbb718a97810414ac777f05ba95e6124cc631 100644 (file)
 #include "memory.h"
 #include "memdebug.h"
 
+
+static Curl_addrinfo *fake_ai(void)
+{
+  Curl_addrinfo *ai;
+  int ss_size;
+
+  ss_size = sizeof (struct sockaddr_in);
+
+  if((ai = calloc(1, sizeof(Curl_addrinfo))) == NULL)
+    return NULL;
+
+  if((ai->ai_canonname = strdup("dummy")) == NULL) {
+    free(ai);
+    return NULL;
+  }
+
+  if((ai->ai_addr = calloc(1, ss_size)) == NULL) {
+    free(ai->ai_canonname);
+    free(ai);
+    return NULL;
+  }
+
+  ai->ai_family = AF_INET;
+  ai->ai_addrlen = ss_size;
+
+  return ai;
+}
+
+
 int test(char *URL)
 {
   CURL *easyh;
@@ -67,7 +96,7 @@ int test(char *URL)
     return TEST_ERR_MAJOR_BAD;
   }
 
-  data_node->addr = Curl_ip2addr(INADDR_ANY, "dummy", 0);
+  data_node->addr = fake_ai();
   if(!data_node->addr) {
     printf("actual data creation failed\n");
     return TEST_ERR_MAJOR_BAD;