
On Wed, Aug 18, 2010 at 07:41:16AM -0600, Eric Blake wrote:
On 08/18/2010 03:04 AM, Daniel P. Berrange wrote:
I find the PRI* stuff rather fugly. Can't we just use %llu and cast to (unsigned long long)
Unfortunately, %llu is equally non-portable to mingw. And yes, we also have some %llu encoded into translated strings, which would also need help.
The question of printf-posix license doesn't appear relevant since remoteError & friends all use asprintf() which is LGPLv2+ already.
We use the 'vasprintf' module, which is indeed LGPLv2+, but it does not guarantee the existence of %llu nor %zu -- it only guarantees that you have the [v]asprintf wrappers around your current system's (non-)compliant printf family, so it inherits the same bugs regarding unsupported specifiers. We would have to use the vasprintf-posix module to get %zu, but that module is LGPLv3+.
Hmm, that's odd, because support for %llu in printf was one of the primary reasons we started using GNULIB in the first place. We have been relying on %llu working, throughout the code. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|