diff options
| author | Daniel Stenberg <daniel@haxx.se> | 2007-06-20 21:57:28 +0000 | 
|---|---|---|
| committer | Daniel Stenberg <daniel@haxx.se> | 2007-06-20 21:57:28 +0000 | 
| commit | d978f85d553686714ce408e90280cbcce692f5d4 (patch) | |
| tree | 22086cff193a20656faed3c1eccc73b7da91e786 | |
| parent | 6e7f47da5b2e44f799f2c49a96f8764a715ea423 (diff) | |
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...
| -rw-r--r-- | CHANGES | 7 | ||||
| -rw-r--r-- | RELEASE-NOTES | 3 | ||||
| -rw-r--r-- | src/main.c | 26 | 
3 files changed, 25 insertions, 11 deletions
@@ -6,6 +6,13 @@                                    Changelog +Daniel S (20 June 2007) +- 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... +  Daniel S (18 June 2007)  - Robson Braga Araujo filed bug report #1739100    (http://curl.haxx.se/bug/view.cgi?id=1739100) that mentioned that libcurl diff --git a/RELEASE-NOTES b/RELEASE-NOTES index b452628cc..21fa2b506 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -59,6 +59,7 @@ This release includes the following bugfixes:   o builds fine on 64bit HP-UX   o multi interface HTTP CONNECT glitch   o list FTP root directories when login dir is not root + o no longer slows down when getting very many URLs on the same command line  This release includes the following known bugs: @@ -85,6 +86,6 @@ advice from friends like these:   Frank Hempel, Michael Wallner, Jeff Pohlmeyer, Tobias Rundström,   Anders Gustafsson, James Bursa, Kristian Gunstone, Feng Tu,   Andre Guibert de Bruet, Rob Crittenden, Rich Rauenzahn, Tom Regner, - Dave Vasilevsky, Shmulik Regev, Robson Braga Araujo + Dave Vasilevsky, Shmulik Regev, Robson Braga Araujo, Adam Piggott          Thanks! (and sorry if I forgot to mention someone) 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;  | 
