
On Tue, Mar 15, 2016 at 10:20:48AM +0100, Christophe Fergeau wrote:
The goal is to not add -spice port=0,addr=127.0.0.1 to QEMU command line when no SPICE port is specified in libvirt XML.
Misleading, even after the series port=0 is generated.
Before this change, we could rely on port or tlsPort to always be present, so subsequent args could be unconditionally appended with a leading ','. Now that it's no longer the case, we need to always check whether the arg we are about to append is the first one or not. --- src/qemu/qemu_command.c | 98 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 73 insertions(+), 25 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 32d32b1..84db056 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7039,13 +7039,16 @@ qemuBuildGraphicsSPICECommandLine(virQEMUDriverConfigPtr cfg, " but TLS is disabled in qemu.conf")); goto error; } - if (port > 0) + + if (virBufferUse(&opt) != 0) virBufferAddChar(&opt, ','); virBufferAsprintf(&opt, "tls-port=%u", tlsPort);
Instead of all these conditions, we can convert all the arguments to add a trailing comma and remove the last one by calling virBufferTrim(&opt, ",", -1); at the end.
}
+ /* If we did not add any SPICE arguments, add a dummy 'port=0' one + * as -spice alone is not allowed on QEMU command line and will be + * ignored by libvirt + */ + if (virBufferUse(&opt) == 0) + virBufferAddLit(&opt, "port=0"); +
I would rather add this change to the commit that disables the first port=0. Also, there is no need to go through the buffer, the string can be added directly to the virCommand. Jan
virCommandAddArg(cmd, "-spice"); virCommandAddArgBuffer(cmd, &opt); if (graphics->data.spice.keymap) -- 2.5.0
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list