]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
datatypes: Refactor rest of 'virGet*' helpers
authorPeter Krempa <pkrempa@redhat.com>
Wed, 27 Aug 2025 06:36:08 +0000 (08:36 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 9 Sep 2025 08:36:35 +0000 (10:36 +0200)
Similarly to the refactor of 'virGetDomain' done in commit 3de56902d32
rework the code to assume that 'virObjectNew' can't return NULL and use
the 'virCheck*Return' helpers to avoid an 'error:' label.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/datatypes.c

index 4e72855ebc72d0ba400b7b02137c63fdd78f6a0e..941e7f9da2155e24b4e94b95416bc8b9f7f050f8 100644 (file)
@@ -349,23 +349,16 @@ virGetNetwork(virConnectPtr conn, const char *name, const unsigned char *uuid)
     if (virDataTypesInitialize() < 0)
         return NULL;
 
-    virCheckConnectGoto(conn, error);
-    virCheckNonNullArgGoto(name, error);
-    virCheckNonNullArgGoto(uuid, error);
-
-    if (!(ret = virObjectNew(virNetworkClass)))
-        goto error;
+    virCheckConnectReturn(conn, NULL);
+    virCheckNonNullArgReturn(name, NULL);
+    virCheckNonNullArgReturn(uuid, NULL);
 
+    ret = virObjectNew(virNetworkClass);
     ret->name = g_strdup(name);
-
     ret->conn = virObjectRef(conn);
     memcpy(&(ret->uuid[0]), uuid, VIR_UUID_BUFLEN);
 
     return ret;
-
- error:
-    virObjectUnref(ret);
-    return NULL;
 }
 
 /**
@@ -410,20 +403,14 @@ virGetNetworkPort(virNetworkPtr net, const unsigned char *uuid)
     if (virDataTypesInitialize() < 0)
         return NULL;
 
-    virCheckNetworkGoto(net, error);
-    virCheckNonNullArgGoto(uuid, error);
-
-    if (!(ret = virObjectNew(virNetworkPortClass)))
-        goto error;
+    virCheckNetworkReturn(net, NULL);
+    virCheckNonNullArgReturn(uuid, NULL);
 
+    ret = virObjectNew(virNetworkPortClass);
     ret->net = virObjectRef(net);
     memcpy(&(ret->uuid[0]), uuid, VIR_UUID_BUFLEN);
 
     return ret;
-
- error:
-    virObjectUnref(ret);
-    return NULL;
 }
 
 /**
@@ -468,26 +455,19 @@ virGetInterface(virConnectPtr conn, const char *name, const char *mac)
     if (virDataTypesInitialize() < 0)
         return NULL;
 
-    virCheckConnectGoto(conn, error);
-    virCheckNonNullArgGoto(name, error);
+    virCheckConnectReturn(conn, NULL);
+    virCheckNonNullArgReturn(name, NULL);
 
     /* a NULL mac from caller is okay. Treat it as blank */
     if (mac == NULL)
        mac = "";
 
-    if (!(ret = virObjectNew(virInterfaceClass)))
-        goto error;
-
+    ret = virObjectNew(virInterfaceClass);
     ret->name = g_strdup(name);
     ret->mac = g_strdup(mac);
-
     ret->conn = virObjectRef(conn);
 
     return ret;
-
- error:
-    virObjectUnref(ret);
-    return NULL;
 }
 
 /**
@@ -535,15 +515,12 @@ virGetStoragePool(virConnectPtr conn, const char *name,
     if (virDataTypesInitialize() < 0)
         return NULL;
 
-    virCheckConnectGoto(conn, error);
-    virCheckNonNullArgGoto(name, error);
-    virCheckNonNullArgGoto(uuid, error);
-
-    if (!(ret = virObjectNew(virStoragePoolClass)))
-        goto error;
+    virCheckConnectReturn(conn, NULL);
+    virCheckNonNullArgReturn(name, NULL);
+    virCheckNonNullArgReturn(uuid, NULL);
 
+    ret = virObjectNew(virStoragePoolClass);
     ret->name = g_strdup(name);
-
     ret->conn = virObjectRef(conn);
     memcpy(&(ret->uuid[0]), uuid, VIR_UUID_BUFLEN);
 
@@ -552,10 +529,6 @@ virGetStoragePool(virConnectPtr conn, const char *name,
     ret->privateDataFreeFunc = freeFunc;
 
     return ret;
-
- error:
-    virObjectUnref(ret);
-    return NULL;
 }
 
 
@@ -609,18 +582,15 @@ virGetStorageVol(virConnectPtr conn, const char *pool, const char *name,
     if (virDataTypesInitialize() < 0)
         return NULL;
 
-    virCheckConnectGoto(conn, error);
-    virCheckNonNullArgGoto(pool, error);
-    virCheckNonNullArgGoto(name, error);
-    virCheckNonNullArgGoto(key, error);
-
-    if (!(ret = virObjectNew(virStorageVolClass)))
-        goto error;
+    virCheckConnectReturn(conn, NULL);
+    virCheckNonNullArgReturn(pool, NULL);
+    virCheckNonNullArgReturn(name, NULL);
+    virCheckNonNullArgReturn(key, NULL);
 
+    ret = virObjectNew(virStorageVolClass);
     ret->pool = g_strdup(pool);
     ret->name = g_strdup(name);
     ret->key = g_strdup(key);
-
     ret->conn = virObjectRef(conn);
 
     /* set driver specific data */
@@ -628,10 +598,6 @@ virGetStorageVol(virConnectPtr conn, const char *pool, const char *name,
     ret->privateDataFreeFunc = freeFunc;
 
     return ret;
-
- error:
-    virObjectUnref(ret);
-    return NULL;
 }
 
 
@@ -679,20 +645,14 @@ virGetNodeDevice(virConnectPtr conn, const char *name)
     if (virDataTypesInitialize() < 0)
         return NULL;
 
-    virCheckConnectGoto(conn, error);
-    virCheckNonNullArgGoto(name, error);
-
-    if (!(ret = virObjectNew(virNodeDeviceClass)))
-        goto error;
+    virCheckConnectReturn(conn, NULL);
+    virCheckNonNullArgReturn(name, NULL);
 
+    ret = virObjectNew(virNodeDeviceClass);
     ret->name = g_strdup(name);
-
     ret->conn = virObjectRef(conn);
-    return ret;
 
- error:
-    virObjectUnref(ret);
-    return NULL;
+    return ret;
 }
 
 
@@ -738,23 +698,16 @@ virGetSecret(virConnectPtr conn, const unsigned char *uuid,
     if (virDataTypesInitialize() < 0)
         return NULL;
 
-    virCheckConnectGoto(conn, error);
-    virCheckNonNullArgGoto(uuid, error);
-
-    if (!(ret = virObjectNew(virSecretClass)))
-        return NULL;
+    virCheckConnectReturn(conn, NULL);
+    virCheckNonNullArgReturn(uuid, NULL);
 
+    ret = virObjectNew(virSecretClass);
     memcpy(&(ret->uuid[0]), uuid, VIR_UUID_BUFLEN);
     ret->usageType = usageType;
     ret->usageID = g_strdup(NULLSTR_EMPTY(usageID));
-
     ret->conn = virObjectRef(conn);
 
     return ret;
-
- error:
-    virObjectUnref(ret);
-    return NULL;
 }
 
 /**
@@ -800,9 +753,7 @@ virGetStream(virConnectPtr conn)
 
     virCheckConnectReturn(conn, NULL);
 
-    if (!(ret = virObjectNew(virStreamClass)))
-        return NULL;
-
+    ret = virObjectNew(virStreamClass);
     ret->conn = virObjectRef(conn);
 
     return ret;
@@ -850,24 +801,16 @@ virGetNWFilter(virConnectPtr conn, const char *name,
     if (virDataTypesInitialize() < 0)
         return NULL;
 
-    virCheckConnectGoto(conn, error);
-    virCheckNonNullArgGoto(name, error);
-    virCheckNonNullArgGoto(uuid, error);
-
-    if (!(ret = virObjectNew(virNWFilterClass)))
-        goto error;
+    virCheckConnectReturn(conn, NULL);
+    virCheckNonNullArgReturn(name, NULL);
+    virCheckNonNullArgReturn(uuid, NULL);
 
+    ret = virObjectNew(virNWFilterClass);
     ret->name = g_strdup(name);
-
     memcpy(&(ret->uuid[0]), uuid, VIR_UUID_BUFLEN);
-
     ret->conn = virObjectRef(conn);
 
     return ret;
-
- error:
-    virObjectUnref(ret);
-    return NULL;
 }
 
 
@@ -915,23 +858,15 @@ virGetNWFilterBinding(virConnectPtr conn, const char *portdev,
     if (virDataTypesInitialize() < 0)
         return NULL;
 
-    virCheckConnectGoto(conn, error);
-    virCheckNonNullArgGoto(portdev, error);
-
-    if (!(ret = virObjectNew(virNWFilterBindingClass)))
-        goto error;
+    virCheckConnectReturn(conn, NULL);
+    virCheckNonNullArgReturn(portdev, NULL);
 
+    ret = virObjectNew(virNWFilterBindingClass);
     ret->portdev = g_strdup(portdev);
-
     ret->filtername = g_strdup(filtername);
-
     ret->conn = virObjectRef(conn);
 
     return ret;
-
- error:
-    virObjectUnref(ret);
-    return NULL;
 }
 
 
@@ -977,20 +912,14 @@ virGetDomainCheckpoint(virDomainPtr domain,
     if (virDataTypesInitialize() < 0)
         return NULL;
 
-    virCheckDomainGoto(domain, error);
-    virCheckNonNullArgGoto(name, error);
+    virCheckDomainReturn(domain, NULL);
+    virCheckNonNullArgReturn(name, NULL);
 
-    if (!(ret = virObjectNew(virDomainCheckpointClass)))
-        goto error;
+    ret = virObjectNew(virDomainCheckpointClass);
     ret->name = g_strdup(name);
-
     ret->domain = virObjectRef(domain);
 
     return ret;
-
- error:
-    virObjectUnref(ret);
-    return NULL;
 }
 
 
@@ -1033,20 +962,14 @@ virGetDomainSnapshot(virDomainPtr domain, const char *name)
     if (virDataTypesInitialize() < 0)
         return NULL;
 
-    virCheckDomainGoto(domain, error);
-    virCheckNonNullArgGoto(name, error);
+    virCheckDomainReturn(domain, NULL);
+    virCheckNonNullArgReturn(name, NULL);
 
-    if (!(ret = virObjectNew(virDomainSnapshotClass)))
-        goto error;
+    ret = virObjectNew(virDomainSnapshotClass);
     ret->name = g_strdup(name);
-
     ret->domain = virObjectRef(domain);
 
     return ret;
-
- error:
-    virObjectUnref(ret);
-    return NULL;
 }
 
 
@@ -1171,18 +1094,13 @@ virAdmGetServer(virAdmConnectPtr conn, const char *name)
     virAdmServerPtr ret = NULL;
 
     if (virDataTypesInitialize() < 0)
-        goto error;
+        return NULL;
 
-    if (!(ret = virObjectNew(virAdmServerClass)))
-        goto error;
+    ret = virObjectNew(virAdmServerClass);
     ret->name = g_strdup(name);
-
     ret->conn = virObjectRef(conn);
 
     return ret;
- error:
-    virObjectUnref(ret);
-    return NULL;
 }
 
 static void
@@ -1202,20 +1120,15 @@ virAdmGetClient(virAdmServerPtr srv, const unsigned long long id,
     virAdmClientPtr ret = NULL;
 
     if (virDataTypesInitialize() < 0)
-        goto error;
-
-    if (!(ret = virObjectNew(virAdmClientClass)))
-        goto error;
+        return NULL;
 
+    ret = virObjectNew(virAdmClientClass);
     ret->id = id;
     ret->timestamp = timestamp;
     ret->transport = transport;
     ret->srv = virObjectRef(srv);
 
     return ret;
- error:
-    virObjectUnref(ret);
-    return NULL;
 }
 
 static void