On Fri, Nov 13, 2009 at 04:01:44PM +0000, Matthew Booth wrote: > Change -monitor, -serial and -parallel output to use -chardev if it is > available. > > * src/qemu/qemu_conf.c: Update qemudBuildCommandLine to use -chardev where > available. > * tests/qemuxml2argvtest.c tests/qemuxml2argvdata/: Add -chardev equivalents for > all current serial and parallel tests. > diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c > index c807688..4f4b3db 100644 > --- a/src/qemu/qemu_conf.c > +++ b/src/qemu/qemu_conf.c > @@ -1844,12 +1844,36 @@ int qemudBuildCommandLine(virConnectPtr conn, > if (monitor_chr) { > virBuffer buf = VIR_BUFFER_INITIALIZER; > > - qemudBuildCommandLineChrDevStr(monitor_chr, &buf); > - if (virBufferError(&buf)) > - goto error; > + /* Use -chardev if it's available */ > + if (qemuCmdFlags & QEMUD_CMD_FLAG_CHARDEV) { > + char id[16]; > + > + if (snprintf(id, sizeof(id), "monitor%i", i) > sizeof(id)) > + goto error; This is using 'i' uninitialized I believe. Its a little overkill to do a printf here at all since there's only ever a single monitor called 'monitor0' > > - ADD_ARG_LIT("-monitor"); > - ADD_ARG(virBufferContentAndReset(&buf)); > + qemudBuildCommandLineChrDevChardevStr(monitor_chr, id, &buf); > + if (virBufferError(&buf)) > + goto error; > + > + ADD_ARG_LIT("-chardev"); > + ADD_ARG(virBufferContentAndReset(&buf)); > + > + virBufferVSprintf(&buf, "chardev:%s", id); > + if (virBufferError(&buf)) > + goto error; > + > + ADD_ARG_LIT("-monitor"); > + ADD_ARG(virBufferContentAndReset(&buf)); > + } > + > + else { > + qemudBuildCommandLineChrDevStr(monitor_chr, &buf); > + if (virBufferError(&buf)) > + goto error; > + > + ADD_ARG_LIT("-monitor"); > + ADD_ARG(virBufferContentAndReset(&buf)); > + } > } Regards, Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list