From 768451c5e3a9e8458ed646f965a9f091de6a4512 Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Thu, 17 Mar 2011 22:56:17 -0400 Subject: lib/dload.c: fix compiler warnings generated by -Wfloat-equal * introduces new macro in util.h (DOUBLE_EQ) for properly comparing floating point values Signed-off-by: Dave Reisner Signed-off-by: Dan McGee --- lib/libalpm/dload.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'lib/libalpm/dload.c') diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 4347e5db..8be69e8a 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -92,7 +92,7 @@ static int curl_progress(void *filename, double dltotal, double dlnow, (void)ultotal; (void)ulnow; - if(dltotal == 0 || prevprogress == dltotal) { + if(DOUBLE_EQ(dltotal, 0) || DOUBLE_EQ(prevprogress, dltotal)) { return 0; } @@ -230,7 +230,7 @@ static int curl_download_internal(const char *url, const char *localpath, /* time condition was met and we didn't download anything. we need to * clean up the 0 byte .part file that's left behind. */ - if(bytes_dl == 0 && timecond == 1) { + if(DOUBLE_EQ(bytes_dl, 0) && timecond == 1) { ret = 1; unlink(tempfile); goto cleanup; @@ -249,7 +249,8 @@ static int curl_download_internal(const char *url, const char *localpath, /* remote_size isn't necessarily the full size of the file, just what the * server reported as remaining to download. compare it to what curl reported * as actually being transferred during curl_easy_perform() */ - if((remote_size != -1 && bytes_dl != -1) && bytes_dl != remote_size) { + if(!DOUBLE_EQ(remote_size, -1) && !DOUBLE_EQ(bytes_dl, -1) && + !DOUBLE_EQ(bytes_dl, remote_size)) { pm_errno = PM_ERR_RETRIEVE; _alpm_log(PM_LOG_ERROR, _("%s appears to be truncated: %jd/%jd bytes\n"), filename, (intmax_t)bytes_dl, (intmax_t)remote_size); -- cgit v1.2.3-24-g4f1b