1e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET/*************************************************************************** 29bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels * _ _ ____ _ 39bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels * Project ___| | | | _ \| | 49bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels * / __| | | | |_) | | 59bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels * | (__| |_| | _ <| |___ 69bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels * \___|\___/|_| \_\_____| 79bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels * 8e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. 9e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * 10e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * This software is licensed as described in the file COPYING, which 11e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * you should have received as part of this distribution. The terms 128f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo * are also available at https://curl.haxx.se/docs/copyright.html. 13e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * 14e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * You may opt to use, copy, modify, merge, publish, distribute and/or sell 15e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * copies of the Software, and permit persons to whom the Software is 16e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * furnished to do so, under the terms of the COPYING file. 17e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * 18e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 19e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * KIND, either express or implied. 20e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * 21e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET ***************************************************************************/ 229bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#include "test.h" 239bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 249bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#include "memdebug.h" 259bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 269bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels/* Test case code based on source in a bug report filed by James Bursa on 279bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 28 Apr 2004 */ 289bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 299bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsint test(char *URL) 309bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels{ 319bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels CURLcode code; 329bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels CURL *curl; 339bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels CURL *curl2; 349bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels int rc = 99; 359bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 369bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels code = curl_global_init(CURL_GLOBAL_ALL); 379bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels if(code == CURLE_OK) { 389bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 399bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels curl = curl_easy_init(); 409bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels if(curl) { 419bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 429bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); 439bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels curl_easy_setopt(curl, CURLOPT_HEADER, 1L); 449bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 459bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels curl2 = curl_easy_duphandle(curl); 469bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels if(curl2) { 479bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 489bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels code = curl_easy_setopt(curl2, CURLOPT_URL, URL); 499bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels if(code == CURLE_OK) { 509bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 519bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels code = curl_easy_perform(curl2); 529bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels if(code == CURLE_OK) 539bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels rc = 0; 549bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels else 559bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels rc = 1; 569bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels } 579bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels else 589bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels rc = 2; 599bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 609bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels curl_easy_cleanup(curl2); 619bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels } 629bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels else 639bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels rc = 3; 649bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 659bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels curl_easy_cleanup(curl); 669bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels } 679bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels else 689bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels rc = 4; 699bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 709bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels curl_global_cleanup(); 719bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels } 729bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels else 739bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels rc = 5; 749bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 759bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels return rc; 769bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels} 779bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels 78