[libvirt] [PATCH] virsh: domain: Fix output of the VNC display number for domdisplay

Commit 9976c4b9a665f10ab0d2071954efb7f432d194eb 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 --- tools/virsh-domain.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index 54d8867..d8183ee 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -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) { -- 1.9.2

On Tue, May 13, 2014 at 11:32:03 +0200, Peter Krempa wrote:
Commit 9976c4b9a665f10ab0d2071954efb7f432d194eb 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 --- tools/virsh-domain.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)
ACK Jirka

On 05/13/14 11:32, Jiri Denemark wrote:
On Tue, May 13, 2014 at 11:32:03 +0200, Peter Krempa wrote:
Commit 9976c4b9a665f10ab0d2071954efb7f432d194eb 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 --- tools/virsh-domain.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)
ACK
Jirka
Pushed; Thanks. Peter
participants (2)
-
Jiri Denemark
-
Peter Krempa