summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2007-06-20 21:57:28 +0000
committerDaniel Stenberg <daniel@haxx.se>2007-06-20 21:57:28 +0000
commitd978f85d553686714ce408e90280cbcce692f5d4 (patch)
tree22086cff193a20656faed3c1eccc73b7da91e786
parent6e7f47da5b2e44f799f2c49a96f8764a715ea423 (diff)
downloadgnurl-d978f85d553686714ce408e90280cbcce692f5d4.tar.gz
gnurl-d978f85d553686714ce408e90280cbcce692f5d4.tar.bz2
gnurl-d978f85d553686714ce408e90280cbcce692f5d4.zip
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--CHANGES7
-rw-r--r--RELEASE-NOTES3
-rw-r--r--src/main.c26
3 files changed, 25 insertions, 11 deletions
diff --git a/CHANGES b/CHANGES
index 1de71feb5..18bdd0102 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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;