git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] http: fix some printf format warnings on 32-bit builds

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Nov 11, 2015, 20:31 UTC
Message-ID
<CAPig+cS54yTsZ8NWjyh6kj6nXy966EkYPHh_sjMbMcDGemnFuA@mail.gmail.com>
In-Reply-To
<56437F3F.7050305@ramsayjones.plus.com>

On Wed, Nov 11, 2015 at 12:47 PM, Ramsay Jones <ramsay@ramsayjones.plus.com> wrote:

Show 10 quoted lines
> 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:
>> 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).
This code on my Mac:
    printf("sizeof(long)=%zu\n", sizeof(long));
    printf("sizeof(long long)=%zu\n", sizeof(long long));
    printf("sizeof(off_t)=%zu\n", sizeof(off_t));
produces:
    sizeof(long)=8
    sizeof(long long)=8
    sizeof(off_t)=8

The fact that 'long' and 'long long' happen to be the same size (in this case) is immaterial. What is important is that the code is just wrong to be using the "%l" specifier for 'long' when the actual datatype is 'long long' (which is what 'off_t' is under-the-hood in this case).

Previous: Ramsay JonesNext: Jeff King
Message 14 of 19 in “http: fix some printf format warnings on 32-bit builds”
  1. http: fix some printf format warnings on 32-bit buildsRamsay Jones, Nov 11, 2015
  2. Eric SunshineNov 11, 2015
  3. Stefan BellerNov 11, 2015
  4. Lars SchneiderNov 11, 2015
  5. Stefan BellerNov 11, 2015
  6. Ramsay JonesNov 11, 2015
  7. Lars SchneiderNov 13, 2015
  8. Eric SunshineNov 13, 2015
  9. Torsten BögershausenNov 13, 2015
  10. Lars SchneiderNov 13, 2015
  11. Ramsay JonesNov 13, 2015
  12. Lars SchneiderNov 14, 2015
  13. Ramsay JonesNov 11, 2015
  14. Eric SunshineNov 11, 2015
  15. Jeff KingNov 11, 2015
  16. Ramsay JonesNov 11, 2015
  17. Torsten BögershausenNov 12, 2015
  18. Ramsay JonesNov 12, 2015
  19. Andreas SchwabNov 12, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.