From: Ramsay Jones <ramsay@ramsayjones•plus.com>
To: Eric Sunshine <sunshine@sunshineco•com>
Cc: Jeff King <peff@peff•net>, Junio C Hamano <gitster@pobox•com>,
GIT Mailing-list <git@vger•kernel.org>
Subject: Re: [PATCH] http: fix some printf format warnings on 32-bit builds
Date: Wed, 11 Nov 2015 17:47:43 +0000 [thread overview]
Message-ID: <56437F3F.7050305@ramsayjones.plus.com> (raw)
In-Reply-To: <CAPig+cR+jXgw7+kUK9vrZxNbytwyK3gzgm1YPf_6s57_UxPaBA@mail.gmail.com>
On 11/11/15 01:22, Eric Sunshine wrote:
> On Tue, Nov 10, 2015 at 7:23 PM, Ramsay Jones
> <ramsay@ramsayjones•plus.com> wrote:
>> Commit f8117f55 ("http: use off_t to store partial file size",
>> 02-11-2015) changed the type of some variables from long to off_t.
>> The 32-bit build, which enables the large filesystem interface
>> (_FILE_OFFSET_BITS == 64), defines the off_t type as a 64-bit
>> integer, whereas long is a 32-bit integer. This results in a couple
>> of printf format warnings.
>>
>> In order to suppress the warnings, change the format specifier to use
>> the PRIuMAX macro and cast the off_t argument to uintmax_t. (See also
>> the http_opt_request_remainder() function, which uses the same
>> solution).
>
> I just ran across the problem when building 'next' on my Mac and was
> about to investigate, so am happy to find that the work has already
> been done. Thanks.
Hmm, interesting. I've never used a Mac, so please forgive my ignorance ...
> My machine is 64-bit, though, so perhaps it's misleading to
> characterize this as a fix for 32-bit builds. In particular, off_t is
> 'long long' on this machine, so it complains about the "long" format
> specifier.
... but this seems to imply that sizeof(long) is 4 on your machine, right?
(on x86_64 linux it's 8, which is why I hadn't noticed before).
Jeff, do you need me to re-word the commit message?
ATB,
Ramsay Jones
>
>> Signed-off-by: Ramsay Jones <ramsay@ramsayjones•plus.com>
>> ---
>> diff --git a/http.c b/http.c
>> index 42f29ce..2532976 100644
>> --- a/http.c
>> +++ b/http.c
>> @@ -1617,8 +1617,8 @@ struct http_pack_request *new_http_pack_request(
>> if (prev_posn>0) {
>> if (http_is_verbose)
>> fprintf(stderr,
>> - "Resuming fetch of pack %s at byte %ld\n",
>> - sha1_to_hex(target->sha1), prev_posn);
>> + "Resuming fetch of pack %s at byte %"PRIuMAX"\n",
>> + sha1_to_hex(target->sha1), (uintmax_t)prev_posn);
>> http_opt_request_remainder(preq->slot->curl, prev_posn);
>> }
>>
>> @@ -1772,8 +1772,8 @@ struct http_object_request *new_http_object_request(const char *base_url,
>> if (prev_posn>0) {
>> if (http_is_verbose)
>> fprintf(stderr,
>> - "Resuming fetch of object %s at byte %ld\n",
>> - hex, prev_posn);
>> + "Resuming fetch of object %s at byte %"PRIuMAX"\n",
>> + hex, (uintmax_t)prev_posn);
>> http_opt_request_remainder(freq->slot->curl, prev_posn);
>> }
>>
>> --
>> 2.6.0
>
next prev parent reply other threads:[~2015-11-11 17:47 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-11 0:23 [PATCH] http: fix some printf format warnings on 32-bit builds Ramsay Jones
2015-11-11 1:22 ` Eric Sunshine
2015-11-11 2:00 ` Stefan Beller
2015-11-11 8:02 ` Lars Schneider
2015-11-11 17:38 ` Stefan Beller
2015-11-11 17:49 ` Ramsay Jones
2015-11-13 8:46 ` Lars Schneider
2015-11-13 8:57 ` Eric Sunshine
2015-11-13 10:32 ` Torsten Bögershausen
2015-11-13 12:08 ` Lars Schneider
2015-11-13 20:02 ` Ramsay Jones
2015-11-14 19:14 ` Lars Schneider
2015-11-11 17:47 ` Ramsay Jones [this message]
2015-11-11 20:31 ` Eric Sunshine
2015-11-11 20:54 ` Jeff King
2015-11-11 20:58 ` Ramsay Jones
2015-11-12 5:27 ` Torsten Bögershausen
2015-11-12 11:58 ` Ramsay Jones
2015-11-12 18:40 ` Andreas Schwab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56437F3F.7050305@ramsayjones.plus.com \
--to=ramsay@ramsayjones$(echo .)plus.com \
--cc=git@vger$(echo .)kernel.org \
--cc=gitster@pobox$(echo .)com \
--cc=peff@peff$(echo .)net \
--cc=sunshine@sunshineco$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox