diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/file.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/file.c b/lib/file.c index e10fa8108..e411ac16d 100644 --- a/lib/file.c +++ b/lib/file.c @@ -174,6 +174,7 @@ CURLcode Curl_file(struct connectdata *conn) char *buf = data->state.buffer; curl_off_t bytecount = 0; int fd; + struct timeval now = Curl_tvnow(); /* get the fd from the connection phase */ fd = conn->proto.file->fd; @@ -239,6 +240,8 @@ CURLcode Curl_file(struct connectdata *conn) if(conn->resume_from) lseek(fd, conn->resume_from, SEEK_SET); + Curl_pgrsTime(data, TIMER_STARTTRANSFER); + while (res == CURLE_OK) { nread = read(fd, buf, BUFSIZE-1); @@ -258,8 +261,12 @@ CURLcode Curl_file(struct connectdata *conn) if(res) return res; + Curl_pgrsSetDownloadCounter(data, (double)bytecount); + if(Curl_pgrsUpdate(conn)) res = CURLE_ABORTED_BY_CALLBACK; + else + res = Curl_speedcheck (data, now); } if(Curl_pgrsUpdate(conn)) res = CURLE_ABORTED_BY_CALLBACK; |