[libvirt] [PATCH v3 2/9] interface: Remove some unnecessary goto's for Interface tests

John Ferlan jferlan at redhat.com
Tue May 30 10:43:37 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 | 35 ++++++++++++-----------------------
 1 file changed, 12 insertions(+), 23 deletions(-)

diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index d9f9329..8f7ff63 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;
 }
 
@@ -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