From 384c8f356087178e4779d99d3e0e7f25331293aa Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Wed, 25 Oct 2006 05:59:46 +0000 Subject: Use curl_global_init() and curl_global_cleanup(). Improve cleanup in case of initialization failure. --- tests/libtest/lib536.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'tests/libtest/lib536.c') diff --git a/tests/libtest/lib536.c b/tests/libtest/lib536.c index 6ac24b40d..adad23a16 100644 --- a/tests/libtest/lib536.c +++ b/tests/libtest/lib536.c @@ -70,8 +70,26 @@ static CURLMcode perform(CURLM * multi) int test(char *URL) { - CURLM *multi = curl_multi_init(); - CURL *easy = curl_easy_init(); + CURLM *multi; + CURL *easy; + + if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) { + fprintf(stderr, "curl_global_init() failed\n"); + return TEST_ERR_MAJOR_BAD; + } + + if ((multi = curl_multi_init()) == NULL) { + fprintf(stderr, "curl_multi_init() failed\n"); + curl_global_cleanup(); + return TEST_ERR_MAJOR_BAD; + } + + if ((easy = curl_easy_init()) == NULL) { + fprintf(stderr, "curl_easy_init() failed\n"); + curl_multi_cleanup(multi); + curl_global_cleanup(); + return TEST_ERR_MAJOR_BAD; + } curl_multi_setopt(multi, CURLMOPT_PIPELINING, 1); @@ -96,6 +114,7 @@ int test(char *URL) curl_multi_remove_handle(multi, easy); curl_easy_cleanup(easy); curl_multi_cleanup(multi); + curl_global_cleanup(); printf("Finished!\n"); -- cgit v1.2.3