On 01/24/2013 03:24 AM, Richard W.M. Jones wrote: > On Thu, Jan 24, 2013 at 10:17:16AM +0000, Daniel P. Berrange wrote: >> On Thu, Jan 24, 2013 at 10:10:56AM +0000, Richard W.M. Jones wrote: >>> Version 3 of this patch. Because I now have to pass the 'mgr' pointer >>> around, the patch is considerably more complicated than before. >>> >>> Patch 1/2 is required so that I can use virReportSystemError when I >>> don't need to have any optional arguments, ie. the equivalent of: >>> >>> printf ("foo\n"); >> >> No, that's not allowed - everything must have a format string - even >> static messages - it should instead be: >> >> printf ("%s", _("foo\n")); >> >> make syntax-check ought to have complained about this IIRC. > > I don't see why. Presumably the worry is that the translator will > introduce a %-sequence into the string? That should be picked up by > one of the msg* utilities.
Whether or not it is picked up by the msg* utilities, there is also the issue of whether xgettext will mark the string as being printf-format when extracting the string for translation, as well as the issue that there are existing compilers (at least the older gcc on FreeBSD) that loudly complain (and thus break a -Werror build) if given a function marked __attribute__((__printf__(...))) but with no % in the format string. So just because the standard allows you to use printf with a format string with no % doesn't mean that we like that style. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list