Thread: Gettext and INT64_FORMAT

Gettext and INT64_FORMAT

From
Peter Eisentraut
Date:
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