[pacman-dev] [PATCH] Fix possible mismatched type with several curl arguments

Dan McGee dan at archlinux.org
Sat Aug 27 09:48:40 EDT 2011


After commit 2e7d0023150664, we use off_t rather than long variables.
Use the _LARGE variants of the methods to indicate we are passing off_t
sized variables, and cast using (curl_off_t) accordingly.

Signed-off-by: Dan McGee <dan at archlinux.org>
---
 lib/libalpm/dload.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c
index 6ae6917..8cdb075 100644
--- a/lib/libalpm/dload.c
+++ b/lib/libalpm/dload.c
@@ -205,7 +205,8 @@ static void curl_set_handle_opts(struct dload_payload *payload,
 	curl_easy_setopt(handle->curl, CURLOPT_WRITEHEADER, (void *)payload);
 
 	if(payload->max_size) {
-		curl_easy_setopt(handle->curl, CURLOPT_MAXFILESIZE, payload->max_size);
+		curl_easy_setopt(handle->curl, CURLOPT_MAXFILESIZE_LARGE,
+				(curl_off_t)payload->max_size);
 	}
 
 	if(useragent != NULL) {
@@ -220,7 +221,8 @@ static void curl_set_handle_opts(struct dload_payload *payload,
 	} else if(stat(payload->tempfile_name, &st) == 0 && payload->allow_resume) {
 		/* a previous partial download exists, resume from end of file. */
 		payload->tempfile_openmode = "ab";
-		curl_easy_setopt(handle->curl, CURLOPT_RESUME_FROM, (long)st.st_size);
+		curl_easy_setopt(handle->curl, CURLOPT_RESUME_FROM_LARGE,
+				(curl_off_t)st.st_size);
 		_alpm_log(handle, ALPM_LOG_DEBUG, "tempfile found, attempting continuation\n");
 		payload->initial_size = st.st_size;
 	}
-- 
1.7.6



More information about the pacman-dev mailing list