From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
Cc: | Andrew Dunstan <andrew(at)dunslane(dot)net>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Windows 64 bit warnings |
Date: | 2011-04-18 17:00:55 |
Message-ID: | 3740.1303146055@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Alvaro Herrera <alvherre(at)commandprompt(dot)com> writes:
> Excerpts from Andrew Dunstan's message of sb abr 16 21:46:44 -0300 2011:
>> The other, slightly more serious case, is at
>> src/test/regress/pg_regress.c:2280, which is this code:
>>
>> printf(_("running on port %d with pid %lu\n"),
>> port, (unsigned long) postmaster_pid);
>>
>> Here the postmaster_pid is in fact a HANDLE which is 8 bytes, and so it
>> should probably be cast to an unsigned long long and rendered with the
>> format %llu in Win64.
> Is this "uint64" and UINT64_FORMAT?
Considering that this is a purely informational printout, I don't see
any reason to give a damn about the possibility of high-order bits in
the HANDLE being dropped. And it's not an especially good idea to stick
UINT64_FORMAT into a translatable string, because of the platform
dependency that creates.
I think all we need here is a way to shut up the overly-anal-retentive
warning. I would have expected that explicit cast to be enough,
actually, but apparently it's not. Ideas?
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Josh Berkus | 2011-04-18 17:06:09 | Re: Formatting Curmudgeons WAS: MMAP Buffers |
Previous Message | Joshua Berkus | 2011-04-18 16:52:52 | Re: Formatting Curmudgeons WAS: MMAP Buffers |