aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2009-10-31 18:51:50 +0000
committerDaniel Stenberg <daniel@haxx.se>2009-10-31 18:51:50 +0000
commit223d84810435d1fa3937e46488f6a4763de06972 (patch)
tree61e4fb95724c1eae894426e669faf284b2846e28
parentd8884168e3b094b47d70c49f902a6ef669f6c31c (diff)
- Gabriel Kuri reported a problem with CURLINFO_CONTENT_LENGTH_DOWNLOAD if the
download was 0 bytes, as libcurl would then return the size as unknown (-1) and not 0. I wrote a fix and test case 566 to verify it.
-rw-r--r--CHANGES5
-rw-r--r--RELEASE-NOTES3
-rw-r--r--lib/progress.c6
-rw-r--r--tests/libtest/lib566.c4
4 files changed, 12 insertions, 6 deletions
diff --git a/CHANGES b/CHANGES
index 1ab15dc73..c58ccae1e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,11 @@
Changelog
+Daniel Stenberg (31 Oct 2009)
+- Gabriel Kuri reported a problem with CURLINFO_CONTENT_LENGTH_DOWNLOAD if the
+ download was 0 bytes, as libcurl would then return the size as unknown (-1)
+ and not 0. I wrote a fix and test case 566 to verify it.
+
Daniel Stenberg (30 Oct 2009)
- Liza Alenchery mentioned a problem with re-used SCP connection when a bad
auth is used, as it caused a crash. I failed to repeat the issue, but still
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 2e3817003..5c74df455 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -44,6 +44,7 @@ This release includes the following bugfixes:
o unparsable cookie expire dates make cookies get treated as session coookies
o POST with Digest authentication and "Transfer-Encoding: chunked"
o SCP connection re-use with wrong auth
+ o CURLINFO_CONTENT_LENGTH_DOWNLOAD for 0 bytes transfers
This release includes the following known bugs:
@@ -57,6 +58,6 @@ advice from friends like these:
Claes Jakobsson, Sven Anders, Chris Mumford, John P. McCaskey,
Constantine Sapuntzakis, Michael Stillwell, Tom Mueller, Dan Fandrich,
Kevin Baughman, John Dennis, Ray Dassen, Johan van Selst, Dima Barsky,
- Liza Alenchery
+ Liza Alenchery, Gabriel Kuri
Thanks! (and sorry if I forgot to mention someone)
diff --git a/lib/progress.c b/lib/progress.c
index 69f273405..eddd852c1 100644
--- a/lib/progress.c
+++ b/lib/progress.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -211,7 +211,7 @@ void Curl_pgrsSetUploadCounter(struct SessionHandle *data, curl_off_t size)
void Curl_pgrsSetDownloadSize(struct SessionHandle *data, curl_off_t size)
{
data->progress.size_dl = size;
- if(size > 0)
+ if(size >= 0)
data->progress.flags |= PGRS_DL_SIZE_KNOWN;
else
data->progress.flags &= ~PGRS_DL_SIZE_KNOWN;
@@ -220,7 +220,7 @@ void Curl_pgrsSetDownloadSize(struct SessionHandle *data, curl_off_t size)
void Curl_pgrsSetUploadSize(struct SessionHandle *data, curl_off_t size)
{
data->progress.size_ul = size;
- if(size > 0)
+ if(size >= 0)
data->progress.flags |= PGRS_UL_SIZE_KNOWN;
else
data->progress.flags &= ~PGRS_UL_SIZE_KNOWN;
diff --git a/tests/libtest/lib566.c b/tests/libtest/lib566.c
index 143a67b71..e2cbe7769 100644
--- a/tests/libtest/lib566.c
+++ b/tests/libtest/lib566.c
@@ -17,7 +17,7 @@ int test(char *URL)
CURLcode res;
CURL *curl;
- long content_length;
+ double content_length = 3;
if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
fprintf(stderr, "curl_global_init() failed\n");
@@ -41,7 +41,7 @@ int test(char *URL)
&content_length);
moo = fopen(libtest_arg2, "wb");
if(moo) {
- fprintf(moo, "CL: %ld\n", content_length);
+ fprintf(moo, "CL: %.0f\n", content_length);
fclose(moo);
}
}