Re: [PATCH] http: fix some printf format warnings on 32-bit builds
- From
Torsten Bögershausen <tboegi@web.de>
- Date
- Nov 12, 2015, 05:27 UTC
- Message-ID
- <5644232C.2060700@web.de>
- In-Reply-To
- <5643ABF0.5080207@ramsayjones.plus.com>
>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.
>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,
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
PRId64