aboutsummaryrefslogtreecommitdiff
path: root/tests/libtest/lib558.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/libtest/lib558.c')
-rw-r--r--tests/libtest/lib558.c31
1 files changed, 30 insertions, 1 deletions
diff --git a/tests/libtest/lib558.c b/tests/libtest/lib558.c
index bf4f9149f..9dabbb718 100644
--- a/tests/libtest/lib558.c
+++ b/tests/libtest/lib558.c
@@ -26,6 +26,35 @@
#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;