aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2004-03-05 09:40:16 +0000
committerDaniel Stenberg <daniel@haxx.se>2004-03-05 09:40:16 +0000
commit67172406507a8030a38c229a217970d81b9d1b1e (patch)
tree1ee4eb55f56fbe138c135cd5598bd979f1a118fe
parentef0a2c714ba7705fdc162a43ab10b88c1ebc4aad (diff)
more fixing to make the progress/getinfo stuff to work properly when doing
file: transfers too
-rw-r--r--lib/file.c7
-rw-r--r--lib/transfer.c7
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! */