From: Junio C Hamano Date: Sun, 21 Sep 2025 15:09:54 GMT Subject: Re: [PATCH 3/3] http-push: avoid new compile error Message-ID: In-Reply-To: "Johannes Schindelin via GitGitGadget" writes: > However, there is a much better solution: To use the > `CURLOPT_INFILESIZE_LARGE` option instead, which was added in cURL > v7.11.0 (see https://curl.se/ch/7.11.0.html) and which Git _already_ > uses in `curl_append_msgs_to_imap()`. > > This fix was the motivation for renaming `xcurl_off_t()` to > `cast_size_t_to_curl_off_t()` and making it available more broadly, > which is the reason why it is used here, too. > > Signed-off-by: Johannes Schindelin > --- > http-push.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) As we saw in [1/3], we have been using "size large" for posting in remote-curl.c and this brings how the size for reading the data is handled to match that. Looking good. Will queue. Thanks. > diff --git a/http-push.c b/http-push.c > index 91a5465afb..7a9b96a6d0 100644 > --- a/http-push.c > +++ b/http-push.c > @@ -208,7 +208,8 @@ static void curl_setup_http(CURL *curl, const char *url, > curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); > curl_easy_setopt(curl, CURLOPT_URL, url); > curl_easy_setopt(curl, CURLOPT_INFILE, buffer); > - curl_easy_setopt(curl, CURLOPT_INFILESIZE, buffer->buf.len); > + curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, > + cast_size_t_to_curl_off_t(buffer->buf.len)); > curl_easy_setopt(curl, CURLOPT_READFUNCTION, fread_buffer); > curl_easy_setopt(curl, CURLOPT_SEEKFUNCTION, seek_buffer); > curl_easy_setopt(curl, CURLOPT_SEEKDATA, buffer);