g_free(priv);
}
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(qemuDomainObjPrivate, qemuDomainObjPrivateFree);
+
static void *
qemuDomainObjPrivateAlloc(void *opaque)
{
- qemuDomainObjPrivate *priv;
-
- priv = g_new0(qemuDomainObjPrivate, 1);
+ g_autoptr(qemuDomainObjPrivate) priv = g_new0(qemuDomainObjPrivate, 1);
if (qemuDomainObjInitJob(&priv->job, &qemuPrivateJobCallbacks) < 0) {
virReportSystemError(errno, "%s",
_("Unable to init qemu driver mutexes"));
- goto error;
+ return NULL;
}
if (!(priv->devs = virChrdevAlloc()))
- goto error;
+ return NULL;
priv->blockjobs = virHashNew(virObjectFreeHashData);
priv->migMaxBandwidth = QEMU_DOMAIN_MIG_BANDWIDTH_MAX;
priv->driver = opaque;
- return priv;
-
- error:
- VIR_FREE(priv);
- return NULL;
+ return g_steal_pointer(&priv);
}