diff options
Diffstat (limited to 'src/testcurl/test_parse_cookies.c')
-rw-r--r-- | src/testcurl/test_parse_cookies.c | 43 |
1 files changed, 28 insertions, 15 deletions
diff --git a/src/testcurl/test_parse_cookies.c b/src/testcurl/test_parse_cookies.c index 8a786cc2..4356bf8c 100644 --- a/src/testcurl/test_parse_cookies.c +++ b/src/testcurl/test_parse_cookies.c | |||
@@ -239,24 +239,37 @@ testExternalGet () | |||
239 | #endif | 239 | #endif |
240 | } | 240 | } |
241 | curl_multi_perform (multi, &running); | 241 | curl_multi_perform (multi, &running); |
242 | if (running == 0) | 242 | if (0 == running) |
243 | { | 243 | { |
244 | msg = curl_multi_info_read (multi, &running); | 244 | int pending; |
245 | if (msg == NULL) | 245 | int curl_fine = 0; |
246 | break; | 246 | while (NULL != (msg = curl_multi_info_read (multi, &pending))) |
247 | if (msg->msg == CURLMSG_DONE) | ||
248 | { | 247 | { |
249 | if (msg->data.result != CURLE_OK) | 248 | if (msg->msg == CURLMSG_DONE) |
250 | printf ("%s failed at %s:%d: `%s'\n", | 249 | { |
251 | "curl_multi_perform", | 250 | if (msg->data.result == CURLE_OK) |
252 | __FILE__, | 251 | curl_fine = 1; |
253 | __LINE__, curl_easy_strerror (msg->data.result)); | 252 | else |
254 | curl_multi_remove_handle (multi, c); | 253 | { |
255 | curl_multi_cleanup (multi); | 254 | fprintf (stderr, |
256 | curl_easy_cleanup (c); | 255 | "%s failed at %s:%d: `%s'\n", |
257 | c = NULL; | 256 | "curl_multi_perform", |
258 | multi = NULL; | 257 | __FILE__, |
258 | __LINE__, curl_easy_strerror (msg->data.result)); | ||
259 | abort (); | ||
260 | } | ||
261 | } | ||
259 | } | 262 | } |
263 | if (! curl_fine) | ||
264 | { | ||
265 | fprintf (stderr, "libcurl haven't returned OK code\n"); | ||
266 | abort (); | ||
267 | } | ||
268 | curl_multi_remove_handle (multi, c); | ||
269 | curl_multi_cleanup (multi); | ||
270 | curl_easy_cleanup (c); | ||
271 | c = NULL; | ||
272 | multi = NULL; | ||
260 | } | 273 | } |
261 | MHD_run (d); | 274 | MHD_run (d); |
262 | } | 275 | } |