Skip to content
Snippets Groups Projects
Commit babb985f authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

made 'timespent' a double, which makes more accurate calculations for quick

downloads
parent b22a5f75
No related branches found
No related tags found
No related merge requests found
......@@ -187,6 +187,7 @@ int Curl_pgrsUpdate(struct connectdata *conn)
double total_transfer;
double total_expected_transfer;
double timespent;
struct SessionHandle *data = conn->data;
......@@ -224,17 +225,17 @@ int Curl_pgrsUpdate(struct connectdata *conn)
now = Curl_tvnow(); /* what time is it */
/* The exact time spent so far (from the start) */
data->progress.timespent = Curl_tvdiff (now, data->progress.start)/1000;
timespent = (double)Curl_tvdiff (now, data->progress.start)/1000;
data->progress.timespent = (long)timespent;
/* The average download speed this far */
data->progress.dlspeed =
data->progress.downloaded/(data->progress.timespent?
data->progress.timespent:1);
data->progress.downloaded/(timespent>0.01?timespent:1);
/* The average upload speed this far */
data->progress.ulspeed =
data->progress.uploaded/(data->progress.timespent?
data->progress.timespent:1);
data->progress.uploaded/(timespent>0.01?timespent:1);
if(data->progress.lastshow == Curl_tvlong(now))
return 0; /* never update this more than once a second if the end isn't
......@@ -281,8 +282,10 @@ int Curl_pgrsUpdate(struct connectdata *conn)
data->progress.speeder[checkindex])/((double)span_ms/1000);
}
else
/* the first second we only have one speed information to use */
data->progress.current_speed = data->progress.speeder[nowindex];
/* the first second we use the main average */
data->progress.current_speed =
(data->progress.ulspeed>data->progress.dlspeed)?
data->progress.ulspeed:data->progress.dlspeed;
if(data->progress.flags & PGRS_HIDE)
return 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment