From: Peter Krempa <pkre...@redhat.com>

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 <pkre...@redhat.com>
---
 src/datatypes.c | 175 ++++++++++++------------------------------------
 1 file changed, 44 insertions(+), 131 deletions(-)

diff --git a/src/datatypes.c b/src/datatypes.c
index 4e72855ebc..941e7f9da2 100644
--- a/src/datatypes.c
+++ b/src/datatypes.c
@@ -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
-- 
2.51.0

Reply via email to