summaryrefslogtreecommitdiff
path: root/tests/libtest/lib506.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2004-05-14 09:22:12 +0000
committerDaniel Stenberg <daniel@haxx.se>2004-05-14 09:22:12 +0000
commite2e593a036c992f2d38e060e14b52c4a8862ca2d (patch)
tree69ce3c089381d03bd4f66792b2c994ddc0a13980 /tests/libtest/lib506.c
parent9ce0a7b49d4f004b7d55833a35feabbc8c27726f (diff)
downloadcurl-e2e593a036c992f2d38e060e14b52c4a8862ca2d.tar.gz
clean up properly on failure to enable easier libcurl leak detection
Diffstat (limited to 'tests/libtest/lib506.c')
-rw-r--r--tests/libtest/lib506.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/tests/libtest/lib506.c b/tests/libtest/lib506.c
index 22f5d0698..52a4094a2 100644
--- a/tests/libtest/lib506.c
+++ b/tests/libtest/lib506.c
@@ -148,13 +148,19 @@ int test(char *URL)
/* prepare share */
printf( "SHARE_INIT\n" );
share = curl_share_init();
- curl_share_setopt( share, CURLSHOPT_LOCKFUNC, lock);
- curl_share_setopt( share, CURLSHOPT_UNLOCKFUNC, unlock);
- curl_share_setopt( share, CURLSHOPT_USERDATA, &user);
+ scode = curl_share_setopt( share, CURLSHOPT_LOCKFUNC, lock);
+ scode += curl_share_setopt( share, CURLSHOPT_UNLOCKFUNC, unlock);
+ scode += curl_share_setopt( share, CURLSHOPT_USERDATA, &user);
printf( "CURL_LOCK_DATA_COOKIE\n" );
- curl_share_setopt( share, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
+ scode += curl_share_setopt( share, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
printf( "CURL_LOCK_DATA_DNS\n" );
- curl_share_setopt( share, CURLSHOPT_SHARE, CURL_LOCK_DATA_DNS);
+ scode += curl_share_setopt( share, CURLSHOPT_SHARE, CURL_LOCK_DATA_DNS);
+
+ if(scode) {
+ curl_share_cleanup(share);
+ return 2;
+ }
+
res = 0;