]> xenbits.xensource.com Git - libvirt.git/commitdiff
virsh: Fix XPATH in virshDomainDeviceAliasCompleter()
authorMichal Privoznik <mprivozn@redhat.com>
Fri, 22 Jan 2021 08:29:54 +0000 (09:29 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 22 Jan 2021 09:45:54 +0000 (10:45 +0100)
The way this completer works is that it dumps XML of specified
domain and then tries to look for @name attribute of <alias/>
element. However, the XPATH it uses is not correct which results
in no aliases returned by the completer.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
tools/virsh-completer-domain.c

index 4a3459f12af221261c99884e64131a803cde027b..e773af65528035668dd759ca157d60a379033d16 100644 (file)
@@ -316,14 +316,14 @@ virshDomainDeviceAliasCompleter(vshControl *ctl,
     if (virshDomainGetXML(ctl, cmd, domainXMLFlags, &xmldoc, &ctxt) < 0)
         return NULL;
 
-    naliases = virXPathNodeSet("./devices//alias/@name", ctxt, &aliases);
+    naliases = virXPathNodeSet("/domain/devices//alias[@name]", ctxt, &aliases);
     if (naliases < 0)
         return NULL;
 
     tmp = g_new0(char *, naliases + 1);
 
     for (i = 0; i < naliases; i++) {
-        if (!(tmp[i] = virXMLNodeContentString(aliases[i])))
+        if (!(tmp[i] = virXMLPropString(aliases[i], "name")))
             return NULL;
     }