
On Mon, Aug 29, 2016 at 18:01:21 -0400, John Ferlan wrote: ...
My Coverity environment had a build failure here:
conf/domain_capabilities.c: In function 'virDomainCapsCPUModelsFilter': conf/domain_capabilities.c:183:48: error: passing argument 1 of 'virStringArrayHasString' from incompatible pointer type [-Werror=incompatible-pointer-types] if (models && !virStringArrayHasString(models, old->models[i].name)) ^~~~~~ In file included from conf/domain_capabilities.c:28:0: ./util/virstring.h:47:6: note: expected 'const char **' but argument is of type 'char **' bool virStringArrayHasString(const char **strings, const char *needle); ^~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors Makefile:8092: recipe for target 'conf/libvirt_conf_la-domain_capabilities.lo' failed
Yeah, my compiler doesn't like this either. It's caused by a recent change to virStringArrayHasString. Fixed.
@@ -4207,7 +4209,13 @@ virQEMUCapsFillDomainCPUCaps(virCapsPtr caps, domCaps->cpu.hostModel = virQEMUCapsGuestIsNative(caps->host.arch, qemuCaps->arch);
- domCaps->cpu.custom = virObjectRef(qemuCaps->cpuDefinitions); + if (qemuCaps->cpuDefinitions && + cpuGetModels(domCaps->arch, &models) >= 0) {
if cpuGetModels returns 0, then models is empty so is there any point in making the call?
Yeah, currently there's no reason to call it if models is empty, but it will change in the future :-) That's what happens when splitting the changes into several patches once a complete functionality has been implemented. Jirka