Dave P wrote: > On Tuesday 19 Feb 2008, Klaus Schmidinger wrote: > >> > remote.c:124: warning: format "%016LX" expects type "long long >> > unsigned int", but argument 4 has type "uint64_t" >> >> Apparently there are macros for this, like PRId64 and such. >> But i don't like having to write something like >> >> int64_t n = ...; >> printf("Some number %" PRId64 "\n", n); > > It seems to be the POSIX way... > >> Don't know if the gettext mechanisms would be able to handle >> >> tr("Some number %" PRId64 "\n") > > It would probably be necessary to have multiple translations for the string > after macro expansion (negating the whole reason for having the macro in > the first place). <http://www.gnu.org/software/gettext/manual/html_node/Preparing-Strings.html> seems to promise that it works without multiple translations: Assume you have code like printf ("The amount is %0" PRId64 "\n", number); The gettext tools and library have special support for these <inttypes.h> macros. You can therefore simply write printf (gettext ("The amount is %0" PRId64 "\n"), number); The PO file will contain the string "The amount is %0<PRId64>\n". The translators will provide a translation containing "%0<PRId64>" as well, and at runtime the gettext function's result will contain the appropriate constant string, "d" or "ld" or "lld". gettext-0.14 (4 years old) already has this text, so it's probably safe to use by now. (Apparently I have been living under a rock for the last couple of years, I didn't even know about that PRId64 thing - thanks for pointing it out.) Regards... Michael _______________________________________________ vdr mailing list vdr@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr