Re: [PATCH] http: fix some printf format warnings on 32-bit builds
- From
Ramsay Jones <ramsay@ramsayjones.plus.com>
- Date
- Nov 12, 2015, 11:58 UTC
- Message-ID
- <56447F02.2000105@ramsayjones.plus.com>
- In-Reply-To
- <5644232C.2060700@web.de>
On 12/11/15 05:27, Torsten Bögershausen wrote:
>>Ah. OK, so %ld for long and %lld for long long, I suppose. > Only if you have a system that's support it. > > Linux does, Windows not.
Sure, but I was speculating specifically about Eric's mac (which I have no experience with).
> >> Hmm, not that it matters, but I wonder what the PRId64 macro is. ;-) > It's "I64d" for Windows, and "lld" for all Gnu based systems and others,
[On Gnu systems, I believe it is %lld on 32-bit and %ld on 64-bit.]
Again, I was commenting on Eric's mac, which _seems_ to allow the use of both %ld and %lld when printing 64-bit integers, so which does it choose for PRId64 ...
Show 9 quoted lines
>
> When you do printf("%lld %ld", long_long_var, long_var),
> the "printf runtime" under Windows will treat "%lld" as "%ld", and print
> the lower part of long_long_var.
> And will not pull a long long from stack, but a long, resulting i all kinds of confusion
>
> So whenever a long long is printed, I can warmly recommend to use
>
> PRId64Indeed.
ATB, Ramsay Jones