{
struct virCapabilitiesData *data = (struct virCapabilitiesData *) opaque;
const char *archStr = virArchToString(data->arch);
- virCaps *caps = NULL;
- char *capsXML = NULL;
- char *path = NULL;
- char *system = NULL;
- char *resctrl = NULL;
- int ret = -1;
+ g_autoptr(virCaps) caps = NULL;
+ g_autofree char *capsXML = NULL;
+ g_autofree char *path = NULL;
+ g_autofree char *system = NULL;
+ g_autofree char *resctrl = NULL;
system = g_strdup_printf("%s/vircaps2xmldata/linux-%s/system", abs_srcdir,
data->filename);
caps = virCapabilitiesNew(data->arch, data->offlineMigrate, data->liveMigrate);
if (!caps)
- goto cleanup;
+ return -1;
if (!(caps->host.numa = virCapabilitiesHostNUMANewHost()))
- goto cleanup;
+ return -1;
if (virCapabilitiesInitCaches(caps) < 0)
- goto cleanup;
+ return -1;
virFileWrapperClearPrefixes();
if (!(capsXML = virCapabilitiesFormatXML(caps)))
- goto cleanup;
+ return -1;
path = g_strdup_printf("%s/vircaps2xmldata/vircaps-%s-%s.xml", abs_srcdir,
archStr, data->filename);
if (virTestCompareToFile(capsXML, path) < 0)
- goto cleanup;
+ return -1;
- ret = 0;
-
- cleanup:
- VIR_FREE(system);
- VIR_FREE(resctrl);
- VIR_FREE(path);
- VIR_FREE(capsXML);
- virObjectUnref(caps);
- return ret;
+ return 0;
}
static int