Mismatched c-format specifiers

Mark Doliner mark at kingant.net
Mon Sep 7 21:29:42 EDT 2009


Hi!

Elliott 'QuLogic' Sales de Andrade noticed that a few of our
translations had mismatched format specifiers (the %s and %d bits in
some strings).  This can cause a crash when the string is formatted.
For example, if you simply change the order of %s and %d then Pidgin
will try to print a number as a string, which is bad.  This email is a
friendly reminder to please be careful with c-format strings.

You can run the check_po.pl script to detect these problems.  This
script can be found in the po/ subdirectory of the Pidgin source code.
> check_po.pl <your_language.po>

It IS possible to change the order of c-format specifiers.
Information on how to do that can be found here:
http://www.gnu.org/software/gettext/manual/gettext.html#c_002dformat-Flag

We "fixed" a few of these problems in 2.6.2 by marking the strings as
fuzzy, which should cause them to not be used.  If you're the
translator for one of these languages you may want to grab a copy of
your translation from our repo before you start translating for the
next release (not currently scheduled, hopefully at least 3 weeks
away):  bn el mn zh_CN

Thanks!
-Mark


More information about the Translators mailing list