static dnsmasqCaps *
dnsmasqCapsNewEmpty(void)
{
- dnsmasqCaps *caps;
+ g_autoptr(dnsmasqCaps) caps = NULL;
if (dnsmasqCapsInitialize() < 0)
return NULL;
if (!(caps = virObjectNew(dnsmasqCapsClass)))
return NULL;
caps->binaryPath = g_strdup(DNSMASQ);
- return caps;
+ return g_steal_pointer(&caps);
}
dnsmasqCaps *
dnsmasqCapsNewFromBuffer(const char *buf)
{
- dnsmasqCaps *caps = dnsmasqCapsNewEmpty();
+ g_autoptr(dnsmasqCaps) caps = dnsmasqCapsNewEmpty();
if (!caps)
return NULL;
- if (dnsmasqCapsSetFromBuffer(caps, buf) < 0) {
- virObjectUnref(caps);
+ if (dnsmasqCapsSetFromBuffer(caps, buf) < 0)
return NULL;
- }
- return caps;
+
+ return g_steal_pointer(&caps);
}
dnsmasqCaps *
dnsmasqCapsNewFromBinary(void)
{
- dnsmasqCaps *caps = dnsmasqCapsNewEmpty();
+ g_autoptr(dnsmasqCaps) caps = dnsmasqCapsNewEmpty();
if (!caps)
return NULL;
- if (dnsmasqCapsRefreshInternal(caps, true) < 0) {
- virObjectUnref(caps);
+ if (dnsmasqCapsRefreshInternal(caps, true) < 0)
return NULL;
- }
- return caps;
+
+ return g_steal_pointer(&caps);
}
const char *
mymain(void)
{
int ret = 0;
- dnsmasqCaps *full
- = dnsmasqCapsNewFromBuffer("Dnsmasq version 2.67\n--bind-dynamic\n--ra-param");
+ g_autoptr(dnsmasqCaps) full = NULL;
+
+ full = dnsmasqCapsNewFromBuffer("Dnsmasq version 2.67\n--bind-dynamic\n--ra-param");
#define DO_TEST(xname, xcaps) \
do { \
DO_TEST("leasetime-hours", full);
DO_TEST("leasetime-infinite", full);
- virObjectUnref(full);
-
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}