On Tue, Aug 7, 2012 at 8:59 PM, Corey Bryant <coreyb(a)linux.vnet.ibm.com> wrote:
On 08/07/2012 02:16 PM, Stefan Hajnoczi wrote:
>
> On Fri, Aug 3, 2012 at 6:28 PM, Corey Bryant <coreyb(a)linux.vnet.ibm.com>
> wrote:
>> + snprintf(fd_str, sizeof(fd_str), "%ld", fd);
>> + qerror_report(QERR_FD_NOT_FOUND, fd_str);
>
>
> Why use an fd_str instead of passing an int64_t into the error
> message? This also assumed sizeof(long) == 8, which isn't true on
> 32-bit hosts, so %ld should be %"PRId64".
Can I pass an int64_t into the message if it takes a string?
I thought int64_t was a long long in 32-bit mode, but perhaps that's not
always the case?
The PRId64 format specifier macro from the C standard hides this so
you can pass int64_t values to printf()-style functions in a portable
way.
Stefan