[libvirt] [PATCH v2 02/11] interface: Remove some unnecessary goto's for Interface tests

John Ferlan jferlan at redhat.com
Fri May 26 11:59:01 UTC 2017


Rather than using goto cleanup on object find failure and having cleanup
need to check if the obj was present before unlocking, just return immediately.

Signed-off-by: John Ferlan <jferlan at redhat.com>
---
 src/test/test_driver.c | 37 +++++++++++++------------------------
 1 file changed, 13 insertions(+), 24 deletions(-)

diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index c2697e8..da45542 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -3709,13 +3709,11 @@ testInterfaceLookupByName(virConnectPtr conn,
     virInterfacePtr ret = NULL;
 
     if (!(obj = testInterfaceObjFindByName(privconn, name)))
-        goto cleanup;
+        return NULL;
 
     ret = virGetInterface(conn, obj->def->name, obj->def->mac);
 
- cleanup:
-    if (obj)
-        virInterfaceObjUnlock(obj);
+    virInterfaceObjUnlock(obj);
     return ret;
 }
 
@@ -3760,13 +3758,11 @@ testInterfaceIsActive(virInterfacePtr iface)
     int ret = -1;
 
     if (!(obj = testInterfaceObjFindByName(privconn, iface->name)))
-        goto cleanup;
+        return -1;
 
     ret = virInterfaceObjIsActive(obj);
 
- cleanup:
-    if (obj)
-        virInterfaceObjUnlock(obj);
+    virInterfaceObjUnlock(obj);
     return ret;
 }
 
@@ -3875,13 +3871,11 @@ testInterfaceGetXMLDesc(virInterfacePtr iface,
     virCheckFlags(0, NULL);
 
     if (!(obj = testInterfaceObjFindByName(privconn, iface->name)))
-        goto cleanup;
+        return NULL;
 
     ret = virInterfaceDefFormat(obj->def);
 
- cleanup:
-    if (obj)
-        virInterfaceObjUnlock(obj);
+    virInterfaceObjUnlock(obj);
     return ret;
 }
 
@@ -3899,7 +3893,7 @@ testInterfaceDefineXML(virConnectPtr conn,
     virCheckFlags(0, NULL);
 
     testDriverLock(privconn);
-    if ((def = virInterfaceDefParseString(xmlStr)) == NULL)
+    if (!(def = virInterfaceDefParseString(xmlStr)))
         goto cleanup;
 
     if ((obj = virInterfaceObjAssignDef(&privconn->ifaces, def)) == NULL)
@@ -3922,16 +3916,13 @@ testInterfaceUndefine(virInterfacePtr iface)
 {
     testDriverPtr privconn = iface->conn->privateData;
     virInterfaceObjPtr obj;
-    int ret = -1;
 
     if (!(obj = testInterfaceObjFindByName(privconn, iface->name)))
-        goto cleanup;
+        return -1;
 
     virInterfaceObjRemove(&privconn->ifaces, obj);
-    ret = 0;
 
- cleanup:
-    return ret;
+    return 0;
 }
 
 
@@ -3946,7 +3937,7 @@ testInterfaceCreate(virInterfacePtr iface,
     virCheckFlags(0, -1);
 
     if (!(obj = testInterfaceObjFindByName(privconn, iface->name)))
-        goto cleanup;
+        return -1;
 
     if (obj->active != 0) {
         virReportError(VIR_ERR_OPERATION_INVALID, NULL);
@@ -3957,8 +3948,7 @@ testInterfaceCreate(virInterfacePtr iface,
     ret = 0;
 
  cleanup:
-    if (obj)
-        virInterfaceObjUnlock(obj);
+    virInterfaceObjUnlock(obj);
     return ret;
 }
 
@@ -3974,7 +3964,7 @@ testInterfaceDestroy(virInterfacePtr iface,
     virCheckFlags(0, -1);
 
     if (!(obj = testInterfaceObjFindByName(privconn, iface->name)))
-        goto cleanup;
+        return -1;
 
     if (obj->active == 0) {
         virReportError(VIR_ERR_OPERATION_INVALID, NULL);
@@ -3985,8 +3975,7 @@ testInterfaceDestroy(virInterfacePtr iface,
     ret = 0;
 
  cleanup:
-    if (obj)
-        virInterfaceObjUnlock(obj);
+    virInterfaceObjUnlock(obj);
     return ret;
 }
 
-- 
2.9.4




More information about the libvir-list mailing list