Gettext and INT64_FORMAT

Started by Peter Eisentrautover 23 years ago1 messages
#1Peter Eisentraut
peter_e@gmx.net

Gettext cannot handle compile-time string concatenation with macros. This
is a made-up example:

printf(gettext("now at file position " INT64_FORMAT), (int64) offset);

At the time when the message catalogs are extracted, INT64_FORMAT is
unknown.

The solution in the Gettext manual is to rewrite the code like this:

char buf[100];
sprintf(INT64_FORMAT, (int64) offset);
printf(gettext("now at file position %s"), buf);

Since the only affected cases are a few low-probability error messages in
the sequence code and in pg_dump this isn't an aesthetic disaster, so I
plan to fix it along those lines.

--
Peter Eisentraut peter_e@gmx.net