From d978f85d553686714ce408e90280cbcce692f5d4 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 20 Jun 2007 21:57:28 +0000 Subject: Adam Piggott filed bug report #1740263 (http://curl.haxx.se/bug/view.cgi?id=1740263). Adam discovered that when getting a large amount of URLs with curl, they were fetched slower and slower... which turned out to be because the --libcurl data collecting which wrongly always was enabled, but no longer is... --- src/main.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/main.c b/src/main.c index 9124747f2..716162126 100644 --- a/src/main.c +++ b/src/main.c @@ -3354,13 +3354,15 @@ output_expected(const char* url, const char* uploadfile) return FALSE; /* non-HTTP upload, probably no output should be expected */ } -#define my_setopt(x,y,z) _my_setopt(x, #y, y, z) +#define my_setopt(x,y,z) _my_setopt(x, config, #y, y, z) static struct curl_slist *easycode; -CURLcode _my_setopt(CURL *curl, const char *name, CURLoption tag, ...); +CURLcode _my_setopt(CURL *curl, struct Configurable *config, const char *name, + CURLoption tag, ...); -CURLcode _my_setopt(CURL *curl, const char *name, CURLoption tag, ...) +CURLcode _my_setopt(CURL *curl, struct Configurable *config, const char *name, + CURLoption tag, ...) { va_list arg; CURLcode ret; @@ -3409,14 +3411,18 @@ CURLcode _my_setopt(CURL *curl, const char *name, CURLoption tag, ...) ret = curl_easy_setopt(curl, tag, oval); } - bufp = curl_maprintf("%scurl_easy_setopt(hnd, %s, %s);%s", - remark?"/* ":"", name, value, - remark?" [REMARK] */":""); + if(config->libcurl) { + /* we only use this for real if --libcurl was used */ - if (!bufp || !curl_slist_append(easycode, bufp)) - ret = CURLE_OUT_OF_MEMORY; - if (bufp) - curl_free(bufp); + bufp = curl_maprintf("%scurl_easy_setopt(hnd, %s, %s);%s", + remark?"/* ":"", name, value, + remark?" [REMARK] */":""); + + if (!bufp || !curl_slist_append(easycode, bufp)) + ret = CURLE_OUT_OF_MEMORY; + if (bufp) + curl_free(bufp); + } va_end(arg); return ret; -- cgit v1.2.3