From 107c4d878abea8940cae85bc9d330c13481ea634 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 11 Nov 2009 09:01:43 +0000 Subject: [PATCH] - Christian Schmitz noticed that the progress meter/callback was not properly used during the FTP connection phase (after the actual TCP connect), while it of course should be. I also made the speed check get called correctly so that really slow servers will trigger that properly too. --- CHANGES | 6 ++++++ RELEASE-NOTES | 3 ++- lib/ftp.c | 8 ++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 2d7b7ba62..3bd880931 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,12 @@ Changelog +Daniel Stenberg (11 Nov 2009) +- Christian Schmitz noticed that the progress meter/callback was not properly + used during the FTP connection phase (after the actual TCP connect), while + it of course should be. I also made the speed check get called correctly so + that really slow servers will trigger that properly too. + Kamil Dudka (5 Nov 2009) - Dropped misleading timeouts in libcurl-NSS and made sure the SSL socket works in non-blocking mode. diff --git a/RELEASE-NOTES b/RELEASE-NOTES index fc8c3dd36..08d7215d8 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -15,6 +15,7 @@ This release includes the following bugfixes: o progress meter percentage and transfer time estimates fixes o portability enhancement for OS's without orthogonal directory tree structure + o progress meter/callback during FTP connection This release includes the following known bugs: @@ -23,6 +24,6 @@ This release includes the following known bugs: This release would not have looked like this without help, code, reports and advice from friends like these: - + Yang Tse, Kamil Dudka, Christian Schmitz Thanks! (and sorry if I forgot to mention someone) diff --git a/lib/ftp.c b/lib/ftp.c index a2332234d..14d4b929f 100644 --- a/lib/ftp.c +++ b/lib/ftp.c @@ -90,6 +90,7 @@ #include "multiif.h" #include "url.h" #include "rawstr.h" +#include "speedcheck.h" #define _MPRINTF_REPLACE /* use our functions only */ #include @@ -3069,6 +3070,13 @@ static CURLcode ftp_easy_statemach(struct connectdata *conn) result = ftp_statemach_act(conn); if(result) break; + else if(Curl_pgrsUpdate(conn)) + result = CURLE_ABORTED_BY_CALLBACK; + else + result = Curl_speedcheck(data, Curl_tvnow()); + + if(result) + break; } }