int main(int argc, char **argv) { char *URL; int result; #ifdef O_BINARY # ifdef __HIGHC__ _setmode(stdout, O_BINARY); # else setmode(fileno(stdout), O_BINARY); # endif #endif memory_tracking_init(); /* * Setup proper locale from environment. This is needed to enable locale- * specific behaviour by the C library in order to test for undesired side * effects that could cause in libcurl. */ #ifdef HAVE_SETLOCALE setlocale(LC_ALL, ""); #endif if(argc< 2) { fprintf(stderr, "Pass URL as argument please\n"); return 1; } test_argc = argc; test_argv = argv; if(argc>2) libtest_arg2 = argv[2]; if(argc>3) libtest_arg3 = argv[3]; URL = argv[1]; /* provide this to the rest */ fprintf(stderr, "URL: %s\n", URL); result = test(URL); #ifdef USE_NSS if(PR_Initialized()) /* prevent valgrind from reporting possibly lost memory (fd cache, ...) */ PR_Cleanup(); #endif return result; }
int curl_main(int argc, char *argv[]) #endif { // scp, sftp: edit arguments and relaunch if ((strcmp(argv[0], "scp") == 0) || (strcmp(argv[0], "sftp") == 0)) { return scp_convert(argc, argv); } CURLcode result = CURLE_OK; struct GlobalConfig global; memset(&global, 0, sizeof(global)); main_checkfds(); #if defined(HAVE_SIGNAL) && defined(SIGPIPE) (void)signal(SIGPIPE, SIG_IGN); #endif /* Initialize memory tracking */ memory_tracking_init(); /* Initialize the curl library - do not call any libcurl functions before this point */ result = main_init(&global); if(!result) { /* Start our curl operation */ result = operate(&global, argc, argv); #ifdef __SYMBIAN32__ if(global.showerror) tool_pressanykey(); #endif /* Perform the main cleanup */ main_free(&global); } #ifdef __NOVELL_LIBC__ if(getenv("_IN_NETWARE_BASH_") == NULL) tool_pressanykey(); #endif #ifdef __VMS vms_special_exit(result, vms_show); #else return (int)result; #endif }