* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 2013 - 2016, Linus Nielsen Feltzing, <linus@haxx.se>
+ * Copyright (C) 2013 - 2017, Linus Nielsen Feltzing, <linus@haxx.se>
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
#define MAX_URLS 200
#define MAX_BLACKLIST 20
-int urltime[MAX_URLS];
-char *urlstring[MAX_URLS];
-CURL *handles[MAX_URLS];
-char *site_blacklist[MAX_BLACKLIST];
-char *server_blacklist[MAX_BLACKLIST];
-int num_handles;
-int blacklist_num_servers;
-int blacklist_num_sites;
+static int urltime[MAX_URLS];
+static char *urlstring[MAX_URLS];
+static CURL *handles[MAX_URLS];
+static char *site_blacklist[MAX_BLACKLIST];
+static char *server_blacklist[MAX_BLACKLIST];
+static int num_handles;
+static int blacklist_num_servers;
+static int blacklist_num_sites;
static size_t
write_callback(void *contents, size_t size, size_t nmemb, void *userp)
static void free_urls(void)
{
int i;
- for(i = 0;i < num_handles;i++) {
+ for(i = 0; i < num_handles; i++) {
Curl_safefree(urlstring[i]);
}
- for(i = 0;i < blacklist_num_servers;i++) {
+ for(i = 0; i < blacklist_num_servers; i++) {
Curl_safefree(server_blacklist[i]);
}
- for(i = 0;i < blacklist_num_sites;i++) {
+ for(i = 0; i < blacklist_num_sites; i++) {
Curl_safefree(site_blacklist[i]);
}
}
{
int i;
- for(i = 0;i < num_handles;i++) {
+ for(i = 0; i < num_handles; i++) {
handles[i] = curl_easy_init();
}
return 0;
{
int i;
- for(i = 0;i < num_handles;i++) {
+ for(i = 0; i < num_handles; i++) {
if(handles[i])
curl_easy_cleanup(handles[i]);
}
int handlenum = 0;
struct timeval last_handle_add;
- if(parse_url_file("log/urls.txt") <= 0)
+ if(parse_url_file(libtest_arg2) <= 0)
goto test_cleanup;
start_test_timing();
for(;;) {
struct timeval interval;
struct timeval now;
- long int msnow, mslast;
fd_set rd, wr, exc;
int maxfd = -99;
long timeout;
if(handlenum < num_handles) {
now = tutil_tvnow();
- msnow = now.tv_sec * 1000 + now.tv_usec / 1000;
- mslast = last_handle_add.tv_sec * 1000 + last_handle_add.tv_usec / 1000;
- if((msnow - mslast) >= urltime[handlenum]) {
+ if(tutil_tvdiff(now, last_handle_add) >= urltime[handlenum]) {
fprintf(stdout, "Adding handle %d\n", handlenum);
setup_handle(URL, m, handlenum);
last_handle_add = now;
abort_on_test_timeout();
/* See how the transfers went */
- while((msg = curl_multi_info_read(m, &msgs_left))) {
- if(msg->msg == CURLMSG_DONE) {
+ do {
+ msg = curl_multi_info_read(m, &msgs_left);
+ if(msg && msg->msg == CURLMSG_DONE) {
int i, found = 0;
/* Find out which handle this message is about */
printf("Handle %d Completed with status %d\n", i, msg->data.result);
curl_multi_remove_handle(m, handles[i]);
}
- }
+ } while(msg);
if(handlenum == num_handles && !running) {
break; /* done */
interval.tv_sec = 0;
interval.tv_usec = 1000;
- select_test(maxfd+1, &rd, &wr, &exc, &interval);
+ select_test(maxfd + 1, &rd, &wr, &exc, &interval);
abort_on_test_timeout();
}