On Thu, Jul 25, 2013 at 07:37:48AM -0600, Eric Blake wrote:
On 07/25/2013 03:27 AM, Daniel P. Berrange wrote:
>> 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.
>
> The code requires an int already
>
> narray = va_arg(args, int);
Yay - the underlying implementation is correct.
>
> so both the (long long) and (size_t) casts are bogus. We can just
> remove the cast completely.
Serves me right for not checking whether the va_arg was using the right
type in the first place. Guido's second version that drops the cast
completely is correct.
Same here. I assumed size_t but should have double checked.
Pushed now, thanks,
-- Guido
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org