]> xenbits.xensource.com Git - libvirt.git/commitdiff
virCapabilitiesDomainDataLookup: Produce saner error message
authorMichal Privoznik <mprivozn@redhat.com>
Thu, 11 Jun 2015 14:15:46 +0000 (16:15 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 15 Jun 2015 05:29:37 +0000 (07:29 +0200)
During a review, I've noticed this error message that was eventually
produced when I was trying to define a domain:

error: invalid argument: could not find capabilities for arch=mips64el
domaintype=(null)

Look at the (null). Why is it there? Well, during XML parsing, we try
to look up the default emulator for given OS type and possibly virt
type too. And this is the problem, because if we don't want to look up
by virt type, a -1 is passed to note this fact. Later, the code
handles -1 just right. Except for error message. When it is
constructed (in a very fabulous way I must say), the value is compared
to zero, not -1. And since we don't have any translation from -1 to a
virt type string, we just print (null).

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/conf/capabilities.c

index 6decde84662d04c42a2765c130483a29e458e6d0..9c2c6b445be463655d5e31e8072dbbfbbcc6a370 100644 (file)
@@ -678,7 +678,7 @@ virCapabilitiesDomainDataLookupInternal(virCapsPtr caps,
                               virDomainOSTypeToString(ostype));
         if (arch)
             virBufferAsprintf(&buf, "arch=%s ", virArchToString(arch));
-        if (domaintype)
+        if (domaintype != -1)
             virBufferAsprintf(&buf, "domaintype=%s ",
                               virDomainVirtTypeToString(domaintype));
         if (emulator)