https://bugzilla.redhat.com/show_bug.cgi?id=1191016
We try to get the IP address in /domain/devices/graphics/@listen, howerver
for the network type listen address donnot have this parameter, it will
show the address in the /domain/devices/graphics/listen/@address, running
XML like this:
<graphics type='spice' port='5901' autoport='yes'
keymap='en-us'>
<listen type='network' address='192.168.122.1'
network='default'/>
</graphics>
This patch will try to get the IP address in this path
/domain/devices/graphics/listen/@address
Signed-off-by: Luyao Huang <lhuang(a)redhat.com>
---
tools/virsh-domain.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 358d61c..4a9b574 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -10024,7 +10024,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
int tmp;
int flags = 0;
bool params = false;
- const char *xpath_fmt =
"string(/domain/devices/graphics[@type='%s']/@%s)";
+ const char *xpath_fmt =
"string(/domain/devices/graphics[@type='%s']/%s)";
virSocketAddr addr;
if (!(dom = vshCommandOptDomain(ctl, cmd, NULL)))
@@ -10054,7 +10054,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
continue;
/* Create our XPATH lookup for the current display's port */
- if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "port") < 0)
+ if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "@port") < 0)
goto cleanup;
/* Attempt to get the port number for the current graphics scheme */
@@ -10068,7 +10068,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
/* Create our XPATH lookup for TLS Port (automatically skipped
* for unsupported schemes */
- if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "tlsPort") <
0)
+ if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "@tlsPort") <
0)
goto cleanup;
/* Attempt to get the TLS port number */
@@ -10081,7 +10081,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
continue;
/* Create our XPATH lookup for the current display's address */
- if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "listen") < 0)
+ if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "listen/@address")
< 0)
goto cleanup;
/* Attempt to get the listening addr if set for the current
@@ -10095,7 +10095,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
* care of when getting the XML */
/* Create our XPATH lookup for the password */
- if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "passwd") < 0)
+ if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "@passwd") <
0)
goto cleanup;
/* Attempt to get the password */
--
1.8.3.1