On Fri, Nov 06, 2009 at 10:49:00AM +0000, Matthew Booth wrote: > Dan Berrangé pointed out that using virBufferError() is preferred to checking > virBufferContentAndReset() for NULL return. Also, this allows ADD_ARG_LIT to be > replaced with ADD_ARG, skipping an intermediate variable. > > * src/qemu_qemu_conf.c: Cleanup usage of virBuffer in qemudBuildCommandLine > --- > src/qemu/qemu_conf.c | 15 ++++----------- > 1 files changed, 4 insertions(+), 11 deletions(-) > > diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c > index f010f4a..4a278e3 100644 > --- a/src/qemu/qemu_conf.c > +++ b/src/qemu/qemu_conf.c > @@ -2182,7 +2182,6 @@ int qemudBuildCommandLine(virConnectPtr conn, > > for (i = 0 ; i < def->nchannels ; i++) { > virBuffer buf = VIR_BUFFER_INITIALIZER; > - const char *argStr; > char id[16]; > > virDomainChrDefPtr channel = def->channels[i]; > @@ -2199,24 +2198,18 @@ int qemudBuildCommandLine(virConnectPtr conn, > } > > qemudBuildCommandLineChrDevChardevStr(channel, id, &buf); > - argStr = virBufferContentAndReset(&buf); > - if (argStr == NULL) > + if (virBufferError(&buf)) > goto error; > > ADD_ARG_LIT("-chardev"); > - ADD_ARG_LIT(argStr); > - > - VIR_FREE(argStr); > + ADD_ARG(virBufferContentAndReset(&buf)); > > qemudBuildCommandLineChrDevTargetStr(channel, id, &buf); > - argStr = virBufferContentAndReset(&buf); > - if (argStr == NULL) > + if (virBufferError(&buf)) > goto error; > > ADD_ARG_LIT("-net"); > - ADD_ARG_LIT(argStr); > - > - VIR_FREE(argStr); > + ADD_ARG(virBufferContentAndReset(&buf)); > } > } > Okay as ADD_ARG'ed strings are freed after use, looks fine, pushed, thanks ! Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list