On 05/16/2013 03:00 PM, Guannan Ren wrote: > example: qemu ${otherargs} \ > -vnc 127.0.0.1:0,share=allow-exclusive > --- > src/qemu/qemu_command.c | 36 ++++++++++++++++++++++++++++++++++++ > tests/qemuargv2xmltest.c | 1 + > tests/qemuxml2argvtest.c | 1 + You forgot to add the .args and .xml files. > 3 files changed, 38 insertions(+) > > diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c > index 5b95c07..a462153 100644 > --- a/src/qemu/qemu_command.c > +++ b/src/qemu/qemu_command.c > @@ -6098,6 +6098,19 @@ qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPtr cfg, > virBufferAsprintf(&opt, ",websocket=%d", graphics->data.vnc.websocket); > } > > + if (graphics->data.vnc.sharePolicy) { > + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VNC_SHARE_POLICY)) { > + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", > + _("vnc display sharing policy is not " > + "supported with this QEMU")); > + goto error; > + } > + > + virBufferAsprintf(&opt, ",share=%s", > + virDomainGraphicsVNCSharePolicyTypeToString( > + graphics->data.vnc.sharePolicy)); > + } > + > if (graphics->data.vnc.auth.passwd || cfg->vncPassword) > virBufferAddLit(&opt, ",password"); > > @@ -10013,6 +10026,29 @@ virDomainDefPtr qemuParseCommandLine(virCapsPtr qemuCaps, > vnc->data.vnc.websocket = > vnc->data.vnc.port + 5700; > } > + } else if (STRPREFIX(opts, "share=")) { > + char *sharePolicy = opts + strlen("share="); > + if (sharePolicy && *sharePolicy) { sharePolicy is definitely non-NULL here. > + int policy = > + virDomainGraphicsVNCSharePolicyTypeFromString(sharePolicy); > + > + if (policy < 0) { > + virReportError(VIR_ERR_INTERNAL_ERROR, > + _("unknown vnc display sharing policy '%s'"), > + sharePolicy); > + virDomainGraphicsDefFree(vnc); > + VIR_FREE(orig_opts); > + goto error; > + } else { > + vnc->data.vnc.sharePolicy = policy; > + } > + } else { > + virReportError(VIR_ERR_INTERNAL_ERROR, missing "%s" breaks syntax-check > + _("missing vnc sharing policy")); > + virDomainGraphicsDefFree(vnc); > + VIR_FREE(orig_opts); > + goto error; > + } > } > > opts = nextopt; Jan -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list