[libvirt] [PATCH] virdbustest: Don't pass number of arguments as long long

Daniel P. Berrange berrange at redhat.com
Thu Jul 25 09:27:32 UTC 2013


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.

The code requires an int already

            narray = va_arg(args, int);

so both the (long long) and (size_t) casts are bogus. We can just
remove the cast completely.

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list