virsh: domain: Fix output of the VNC display number for domdisplay

Commit 9976c4b9a6 broke the output for VNC
displays as the port number is converted to VNC display number by
subtracting 5900. This yields port 0 for the first display and thus the
output would be skipped.

Before:
 $ virsh domdisplay VM
 vnc://localhost

After:
 $ tools/virsh domdisplay VM
 vnc://localhost:0
This commit is contained in:
Peter Krempa 2014-05-13 11:26:28 +02:00
parent da879e5921
commit 31b140eba4

View File

@ -9392,12 +9392,6 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
passwd = virXPathString(xpath, ctxt);
VIR_FREE(xpath);
if (STREQ(scheme[iter], "vnc")) {
/* VNC protocol handlers take their port number as
* 'port' - 5900 */
port -= 5900;
}
/* Build up the full URI, starting with the scheme */
virBufferAsprintf(&buf, "%s://", scheme[iter]);
@ -9416,8 +9410,15 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
virBufferAsprintf(&buf, "%s", listen_addr);
/* Add the port */
if (port)
if (port) {
if (STREQ(scheme[iter], "vnc")) {
/* VNC protocol handlers take their port number as
* 'port' - 5900 */
port -= 5900;
}
virBufferAsprintf(&buf, ":%d", port);
}
/* TLS Port */
if (tls_port) {