summaryrefslogtreecommitdiff
path: root/lib/progress.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2004-05-20 20:35:42 +0000
committerDaniel Stenberg <daniel@haxx.se>2004-05-20 20:35:42 +0000
commit60f9450594758307f0c9b2c99babafbbad4ef3e6 (patch)
tree94425275935b5cd8595b26a4490ed25a9f77dc9a /lib/progress.c
parentff52ba7f7b8cc0f64f660a7eed06ff2551518859 (diff)
downloadcurl-60f9450594758307f0c9b2c99babafbbad4ef3e6.tar.gz
calculate upload and download speed using doubles to keep precision.
deleted trailing whitespace
Diffstat (limited to 'lib/progress.c')
-rw-r--r--lib/progress.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/lib/progress.c b/lib/progress.c
index 7ff1dd004..01ed8ac37 100644
--- a/lib/progress.c
+++ b/lib/progress.c
@@ -1,8 +1,8 @@
/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al.
@@ -10,7 +10,7 @@
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html.
- *
+ *
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
@@ -119,7 +119,7 @@ static char *max5data(curl_off_t bytes, char *max5)
return max5;
}
-/*
+/*
New proposed interface, 9th of February 2000:
@@ -272,15 +272,17 @@ int Curl_pgrsUpdate(struct connectdata *conn)
timespent = (long)data->progress.timespent;
/* The average download speed this far */
- data->progress.dlspeed =
- data->progress.downloaded/(timespent?timespent:1);
+ data->progress.dlspeed = (curl_off_t)
+ (data->progress.downloaded/(data->progress.timespent>0?
+ data->progress.timespent:1));
/* The average upload speed this far */
- data->progress.ulspeed =
- data->progress.uploaded/(timespent?timespent:1);
+ data->progress.ulspeed = (curl_off_t)
+ (data->progress.uploaded/(data->progress.timespent>0?
+ data->progress.timespent:1));
if(data->progress.lastshow == Curl_tvlong(now))
- return 0; /* never update this more than once a second if the end isn't
+ return 0; /* never update this more than once a second if the end isn't
reached */
data->progress.lastshow = now.tv_sec;
@@ -373,7 +375,7 @@ int Curl_pgrsUpdate(struct connectdata *conn)
dlpercen = (long)(100*(data->progress.downloaded/100) /
(data->progress.size_dl/100));
}
-
+
/* Now figure out which of them that is slower and use for the for
total estimate! */
total_estimate = ulestimate>dlestimate?ulestimate:dlestimate;
@@ -384,12 +386,12 @@ int Curl_pgrsUpdate(struct connectdata *conn)
time2str(time_spent, timespent);
/* Get the total amount of data expected to get transfered */
- total_expected_transfer =
+ total_expected_transfer =
(data->progress.flags & PGRS_UL_SIZE_KNOWN?
data->progress.size_ul:data->progress.uploaded)+
(data->progress.flags & PGRS_DL_SIZE_KNOWN?
data->progress.size_dl:data->progress.downloaded);
-
+
/* We have transfered this much so far */
total_transfer = data->progress.downloaded + data->progress.uploaded;