diff options
author | Daniel Stenberg <daniel@haxx.se> | 2004-03-05 09:40:16 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2004-03-05 09:40:16 +0000 |
commit | 67172406507a8030a38c229a217970d81b9d1b1e (patch) | |
tree | 1ee4eb55f56fbe138c135cd5598bd979f1a118fe /lib | |
parent | ef0a2c714ba7705fdc162a43ab10b88c1ebc4aad (diff) |
more fixing to make the progress/getinfo stuff to work properly when doing
file: transfers too
Diffstat (limited to 'lib')
-rw-r--r-- | lib/file.c | 7 | ||||
-rw-r--r-- | lib/transfer.c | 7 |
2 files changed, 11 insertions, 3 deletions
diff --git a/lib/file.c b/lib/file.c index 40ee5cab5..e923ae255 100644 --- a/lib/file.c +++ b/lib/file.c @@ -83,6 +83,7 @@ #include "escape.h" #include "file.h" #include "speedcheck.h" +#include "getinfo.h" #define _MPRINTF_REPLACE /* use our functions only */ #include <curl/mprintf.h> @@ -177,10 +178,14 @@ CURLcode Curl_file(struct connectdata *conn) int fd; struct timeval now = Curl_tvnow(); + Curl_readwrite_init(conn); + Curl_initinfo(data); + Curl_pgrsStartNow(data); + /* get the fd from the connection phase */ fd = conn->proto.file->fd; -/*VMS?? -- This only works reliable for STREAMLF files */ + /* VMS: This only works reliable for STREAMLF files */ if( -1 != fstat(fd, &statbuf)) { /* we could stat it, then read out the size */ expected_size = statbuf.st_size; diff --git a/lib/transfer.c b/lib/transfer.c index b37691aa9..d44929407 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -1386,7 +1386,7 @@ void Curl_single_fdset(struct connectdata *conn, * The transfer must already have been setup by a call to Curl_Transfer(). * * Note that headers are created in a preallocated buffer of a default size. - * That buffer can be enlarged on demand, but it is never shrinken again. + * That buffer can be enlarged on demand, but it is never shrunken again. * * Parts of this function was once written by the friendly Mark Butler * <butlerm@xmission.com>. @@ -1400,7 +1400,10 @@ Transfer(struct connectdata *conn) struct Curl_transfer_keeper *k = &conn->keep; bool done=FALSE; - Curl_readwrite_init(conn); + if(!(conn->protocol & PROT_FILE)) + /* Only do this if we are not transferring FILE:, since the file: treatment + is different*/ + Curl_readwrite_init(conn); if((conn->sockfd == -1) && (conn->writesockfd == -1)) /* nothing to read, nothing to write, we're already OK! */ |