On Wed, Jul 24, 2013 at 03:41:17PM -0600, Eric Blake wrote:
On 07/24/2013 03:29 PM, Guido Günther wrote:
> since sizeof(size_t) != sizeof(long long) on 32bit archs.
>
> This unbreaks virdbustest which otherwise fails like:
>
> +++ b/tests/virdbustest.c
> @@ -195,7 +195,7 @@ static int testMessageArray(const void *args ATTRIBUTE_UNUSED)
> if (virDBusMessageEncode(msg,
> "sais",
> in_str1,
> - (long long)3, in_int32a, in_int32b, in_int32c,
> + (size_t)3, in_int32a, in_int32b, in_int32c,
This fix looks correct, but it's annoying that we have to cast the 'a'
length argument in every caller. I'm wondering if a better fix would be
to virDBusMessageEncode to take an 'int' instead of a 'size_t' arg for
"a" length; even though that is technically an arbitrary limitation on
64-bit platforms, I seriously doubt anyone plans to use dBus to send
more than 2G of objects.
I agree with your point, but for the sake of fixing this in 1.1.1
maybe that small patch is the right approach, then fix the internal APIs
after the freeze. Makes sense ?
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | virtualization library
http://libvirt.org/