
On Wed, Sep 26, 2012 at 09:00:06AM -0600, Eric Blake wrote:
On 09/26/2012 07:01 AM, Daniel P. Berrange wrote:
On Wed, Sep 26, 2012 at 04:53:07PM +0400, Dmitry Guryanov wrote:
It is actually preferrable to use VIR_EXPAND_N here, eg
if (VIR_EXPAND_N(def->videos, def->nvideos, 1) < 0) goto no_memory;
def->videos[def->nvideos - 1] = video;
NB VIR_EXPAND_N actually changes the 'nvideos' param for you
VIR_EXPAND_N expects size_t, but fields storing numbers of devices in virDomainDef have type int, so the error occur:
parallels/parallels_driver.c:280: error: passing argument 3 of 'virExpandN' from incompatible pointer type ../src/util/memory.h:55: note: expected 'size_t *' but argument is of type 'int *'
That just says you should be using size_t in your struct, rather than int. But like Daniel says, this can be a later cleanup.
NB, the flaw wasn't in parallels code - it is actually in our common domain_conf.h file 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 :|