[libvirt] [PATCH v1 05/21] util: fcp: use VIR_AUTOFREE instead of VIR_FREE for scalar types

Sukrit Bhatnagar skrtbhtngr at gmail.com
Thu Jun 7 19:34:27 UTC 2018


By making use of the GCC's __attribute__((cleanup)) handled by VIR_AUTOFREE
macro, majority of the VIR_FREE calls can be dropped, which in turn leads to
getting rid of most of our cleanup sections.
---
 src/util/virfcp.c | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

diff --git a/src/util/virfcp.c b/src/util/virfcp.c
index 7660ba7..b703744 100644
--- a/src/util/virfcp.c
+++ b/src/util/virfcp.c
@@ -40,16 +40,12 @@
 bool
 virFCIsCapableRport(const char *rport)
 {
-    bool ret = false;
-    char *path = NULL;
+    VIR_AUTOFREE(char *) path = NULL;
 
     if (virBuildPath(&path, SYSFS_FC_RPORT_PATH, rport) < 0)
         return false;
 
-    ret = virFileExists(path);
-    VIR_FREE(path);
-
-    return ret;
+    return virFileExists(path);
 }
 
 int
@@ -57,8 +53,8 @@ virFCReadRportValue(const char *rport,
                     const char *entry,
                     char **result)
 {
-    int ret = -1;
-    char *buf = NULL, *p = NULL;
+    VIR_AUTOFREE(char *) buf = NULL;
+    char *p = NULL;
 
     if (virFileReadValueString(&buf, "%s/%s/%s",
                                SYSFS_FC_RPORT_PATH, rport, entry) < 0) {
@@ -69,13 +65,9 @@ virFCReadRportValue(const char *rport,
         *p = '\0';
 
     if (VIR_STRDUP(*result, buf) < 0)
-        goto cleanup;
-
-    ret = 0;
+        return -1;
 
- cleanup:
-    VIR_FREE(buf);
-    return ret;
+    return 0;
 }
 
 #else
-- 
1.8.3.1




More information about the libvir-list mailing list