VIR_FREE(data);
}
+VIR_DEFINE_AUTOPTR_FUNC(qemuBlockNodeNameBackingChainData,
+ qemuBlockNodeNameBackingChainDataFree);
+
static void
qemuBlockNodeNameBackingChainDataHashEntryFree(void *opaque,
virHashTablePtr nodenamestable,
qemuBlockNodeNameBackingChainDataPtr *nodenamedata)
{
- qemuBlockNodeNameBackingChainDataPtr data = NULL;
+ VIR_AUTOPTR(qemuBlockNodeNameBackingChainData) data = NULL;
qemuBlockNodeNameBackingChainDataPtr backingdata = NULL;
virJSONValuePtr backing = virJSONValueObjectGetObject(next, "backing");
virJSONValuePtr parent = virJSONValueObjectGetObject(next, "parent");
ret = 0;
cleanup:
- qemuBlockNodeNameBackingChainDataFree(data);
return ret;
}
{
struct qemuBlockNodeNameGetBackingChainData *data = opaque;
const char *device = virJSONValueObjectGetString(item, "device");
- qemuBlockNodeNameBackingChainDataPtr devicedata = NULL;
+ VIR_AUTOPTR(qemuBlockNodeNameBackingChainData) devicedata = NULL;
int ret = -1;
if (qemuBlockNodeNameGetBackingChainBacking(item, data->nodenamestable,
ret = 1; /* we don't really want to steal @item */
cleanup:
- qemuBlockNodeNameBackingChainDataFree(devicedata);
return ret;
}