From: Daniel Stenberg Date: Mon, 12 Nov 2001 08:50:59 +0000 (+0000) Subject: We need at least one millisecond to calculate current speed with! I also X-Git-Tag: curl-7_9_2~109 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c55d0bb80435aef2e06a34c006da410b47982d92;p=curl We need at least one millisecond to calculate current speed with! I also made the getinfo() stuff divide with 1000.0 now to enforce floating point since Paul Harrington claims the 7.9.1 still uses even second resolution in the timers there --- diff --git a/lib/progress.c b/lib/progress.c index c4b1f5153..865744654 100644 --- a/lib/progress.c +++ b/lib/progress.c @@ -119,15 +119,15 @@ void Curl_pgrsTime(struct SessionHandle *data, timerid timer) case TIMER_NAMELOOKUP: data->progress.t_nslookup += - (double)Curl_tvdiff(Curl_tvnow(), data->progress.t_startsingle)/1000; + (double)Curl_tvdiff(Curl_tvnow(), data->progress.t_startsingle)/1000.0; break; case TIMER_CONNECT: data->progress.t_connect += - (double)Curl_tvdiff(Curl_tvnow(), data->progress.t_startsingle)/1000; + (double)Curl_tvdiff(Curl_tvnow(), data->progress.t_startsingle)/1000.0; break; case TIMER_PRETRANSFER: data->progress.t_pretransfer += - (double)Curl_tvdiff(Curl_tvnow(), data->progress.t_startsingle)/1000; + (double)Curl_tvdiff(Curl_tvnow(), data->progress.t_startsingle)/1000.0; break; case TIMER_POSTRANSFER: /* this is the normal end-of-transfer thing */ @@ -275,6 +275,8 @@ int Curl_pgrsUpdate(struct connectdata *conn) /* Figure out the exact time for the time span */ span_ms = Curl_tvdiff(now, data->progress.speeder_time[checkindex]); + if(0 == span_ms) + span_ms=1; /* at least one millisecond MUST have passed */ /* Calculate the average speed the last 'countindex' seconds */ data->progress.current_speed =