On 18/04/2024 23:29, Thomas Munro wrote:
On Thu, Apr 18, 2024 at 8:47 PM Peter Eisentraut <pe...@eisentraut.org> wrote:
I'm not sure I understand the problem here.  Do you mean that in theory
a platform's PRId64 could be something other than "l" or "ll"?

Yes.  I don't know why anyone would do that, and the systems I checked
all have the obvious definitions, eg "ld", "lld" etc.  Perhaps it's an
acceptable risk?  It certainly gives us a tidier result.

Could we have a configure check or static assertion for that?

For discussion, here is a variant that fully embraces <inttypes.h> and
the PRI*64 macros.

Looks good to me.

Personally, I find "PRId64" pretty unreadable. "INT64_MODIFIER" wasn't nice either, though, and following standards is good, so I'm sure I'll get used to it.

They're both less readable than INT64_FORMAT and "%lld", which we use in most places, though. Perhaps "%lld" and casting the arguments to "long long" would be more readable in the places where this patch replaces INT64_MODIFIER with PRI*64, too.

--
Heikki Linnakangas
Neon (https://neon.tech)



Reply via email to