On 20.05.2013 17:54, Eric Blake wrote: > On 05/20/2013 07:47 AM, Michal Privoznik wrote: >> Currently, the openvzDomainSetNetwork function constructs an >> array of strings representing a command line for VZCTL binary. >> This is a overkill since our virCommand APIs can cover all the >> functionality. Moreover, the function is not following our >> structure where return value is set to -1 initially, and after >> all operations succeeded then it is set to zero. >> --- >> src/openvz/openvz_driver.c | 80 +++++++++++----------------------------------- >> 1 file changed, 19 insertions(+), 61 deletions(-) >> @@ -919,40 +889,28 @@ openvzDomainSetNetwork(virConnectPtr conn, const char *vpsid, >> } >> } >> >> - if (!(opt = virBufferContentAndReset(&buf))) >> - goto no_memory; >> + if (!(opt = virBufferContentAndReset(&buf))) { >> + virReportOOMError(); >> + goto cleanup; >> + } > > You can skip the call to virBufferContentAndReset, if you instead do: > >> >> - ADD_ARG_LIT(opt) ; >> + /* --netif_add ifname[,mac,host_ifname,host_mac] */ >> + virCommandAddArgList(cmd, "--netif_add", opt, NULL); > > virCommandAddArg(cmd, "--netif_add"); > virCommandAddArgBuffer(cmd, opt); > Even nicer! I went with this version and pushed. Thank you both guys. Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list