[libvirt PATCH] virvhba.c: use g_autofree

ttxine posted 1 patch 1 year, 6 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/HE1P193MB0058AF05C473801C61966A1CA3269@HE1P193MB0058.EURP193.PROD.OUTLOOK.COM
src/util/virvhba.c | 21 +++++++--------------
1 file changed, 7 insertions(+), 14 deletions(-)
[libvirt PATCH] virvhba.c: use g_autofree
Posted by ttxine 1 year, 6 months ago
Change strings to use g_autofree.

Signed-off-by: Maxim Kostin <ttxinee@outlook.com>
---
 src/util/virvhba.c | 21 +++++++--------------
 1 file changed, 7 insertions(+), 14 deletions(-)

diff --git a/src/util/virvhba.c b/src/util/virvhba.c
index a4e88024d1..76c39e5f2b 100644
--- a/src/util/virvhba.c
+++ b/src/util/virvhba.c
@@ -49,7 +49,7 @@ bool
 virVHBAPathExists(const char *sysfs_prefix,
                   int host)
 {
-    char *sysfs_path = NULL;
+    g_autofree char *sysfs_path = NULL;
     bool ret = false;
 
     sysfs_path = g_strdup_printf("%s/host%d",
@@ -58,7 +58,6 @@ virVHBAPathExists(const char *sysfs_prefix,
     if (virFileExists(sysfs_path))
         ret = true;
 
-    VIR_FREE(sysfs_path);
     return ret;
 }
 
@@ -79,8 +78,8 @@ bool
 virVHBAIsVportCapable(const char *sysfs_prefix,
                       int host)
 {
-    char *scsi_host_path = NULL;
-    char *fc_host_path = NULL;
+    g_autofree char *scsi_host_path = NULL;
+    g_autofree char *fc_host_path = NULL;
     bool ret = false;
 
     fc_host_path = g_strdup_printf("%s/host%d/%s",
@@ -94,8 +93,6 @@ virVHBAIsVportCapable(const char *sysfs_prefix,
     if (virFileExists(fc_host_path) || virFileExists(scsi_host_path))
         ret = true;
 
-    VIR_FREE(fc_host_path);
-    VIR_FREE(scsi_host_path);
     return ret;
 }
 
@@ -115,9 +112,9 @@ virVHBAGetConfig(const char *sysfs_prefix,
                  int host,
                  const char *entry)
 {
-    char *sysfs_path = NULL;
+    g_autofree char *sysfs_path = NULL;
     char *p = NULL;
-    char *buf = NULL;
+    g_autofree char *buf = NULL;
     char *result = NULL;
 
     sysfs_path = g_strdup_printf("%s/host%d/%s",
@@ -140,8 +137,6 @@ virVHBAGetConfig(const char *sysfs_prefix,
     result = g_strdup(p);
 
  cleanup:
-    VIR_FREE(sysfs_path);
-    VIR_FREE(buf);
     return result;
 }
 
@@ -315,8 +310,8 @@ vhbaReadCompareWWN(const char *prefix,
                    const char *f_name,
                    const char *wwn)
 {
-    char *path;
-    char *buf = NULL;
+    g_autofree char *path = NULL;
+    g_autofree char *buf = NULL;
     char *p;
     int ret = -1;
 
@@ -343,8 +338,6 @@ vhbaReadCompareWWN(const char *prefix,
         ret = 1;
 
  cleanup:
-    VIR_FREE(path);
-    VIR_FREE(buf);
 
     return ret;
 }
-- 
2.34.1
Re: [libvirt PATCH] virvhba.c: use g_autofree
Posted by Michal Prívozník 1 year, 6 months ago
On 10/16/22 12:47, ttxine wrote:
> Change strings to use g_autofree.
> 
> Signed-off-by: Maxim Kostin <ttxinee@outlook.com>
> ---
>  src/util/virvhba.c | 21 +++++++--------------
>  1 file changed, 7 insertions(+), 14 deletions(-)


We can do a bit more. Some variables are only used within loop bodies.
Those can be declared inside of their respective bodies and marked as
g_autofree. After this, some labels contain nothing just a return
statement, so those can be dropped too.

I'm fixing those places and pushing. Congratulations on your first
libvirt contribution!

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

Michal