[PATCH 05/15] virbitmaptest: test13: Refactor memory cleanup

Peter Krempa posted 15 patches 5 years, 4 months ago
[PATCH 05/15] virbitmaptest: test13: Refactor memory cleanup
Posted by Peter Krempa 5 years, 4 months ago
Move scope of variables and get rid of the 'cleanup' section.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
---
 tests/virbitmaptest.c | 32 +++++++++++---------------------
 1 file changed, 11 insertions(+), 21 deletions(-)

diff --git a/tests/virbitmaptest.c b/tests/virbitmaptest.c
index e1a49bfe35..1578cd0612 100644
--- a/tests/virbitmaptest.c
+++ b/tests/virbitmaptest.c
@@ -670,37 +670,27 @@ test12(const void *opaque G_GNUC_UNUSED)
 static int
 test13(const void *opaque G_GNUC_UNUSED)
 {
-    virBitmapPtr map = NULL;
     const char *strings[] = { "1234feebee", "000c0fefe" };
-    char *str = NULL;
     size_t i = 0;
-    int ret = -1;

     for (i = 0; i < G_N_ELEMENTS(strings); i++) {
-        map = virBitmapNewString(strings[i]);
-        if (!map)
-            goto cleanup;
+        g_autoptr(virBitmap) map = NULL;
+        g_autofree char *str = NULL;

-        str = virBitmapToString(map);
-        if (!str)
-            goto cleanup;
+        if (!(map = virBitmapNewString(strings[i])))
+            return -1;
+
+        if (!(str = virBitmapToString(map)))
+            return -1;

         if (STRNEQ(strings[i], str)) {
-            fprintf(stderr, "\n expected bitmap string '%s' actual string "
-                    "'%s'\n", strings[i], str);
-            goto cleanup;
+            fprintf(stderr, "\n expected bitmap string '%s' actual string '%s'\n",
+                    strings[i], str);
+            return -1;
         }
-
-        VIR_FREE(str);
-        virBitmapFree(map);
-        map = NULL;
     }

-    ret = 0;
- cleanup:
-    VIR_FREE(str);
-    virBitmapFree(map);
-    return ret;
+    return 0;
 }

 #undef TEST_MAP
-- 
2.26.2

Re: [PATCH 05/15] virbitmaptest: test13: Refactor memory cleanup
Posted by Ján Tomko 5 years, 4 months ago
On a Friday in 2020, Peter Krempa wrote:
>Move scope of variables and get rid of the 'cleanup' section.
>
>Signed-off-by: Peter Krempa <pkrempa@redhat.com>
>---
> tests/virbitmaptest.c | 32 +++++++++++---------------------
> 1 file changed, 11 insertions(+), 21 deletions(-)
>
>diff --git a/tests/virbitmaptest.c b/tests/virbitmaptest.c
>index e1a49bfe35..1578cd0612 100644
>--- a/tests/virbitmaptest.c
>+++ b/tests/virbitmaptest.c
>@@ -670,37 +670,27 @@ test12(const void *opaque G_GNUC_UNUSED)
> static int
> test13(const void *opaque G_GNUC_UNUSED)
> {
>-    virBitmapPtr map = NULL;
>     const char *strings[] = { "1234feebee", "000c0fefe" };
>-    char *str = NULL;
>     size_t i = 0;
>-    int ret = -1;
>
>     for (i = 0; i < G_N_ELEMENTS(strings); i++) {
>-        map = virBitmapNewString(strings[i]);
>-        if (!map)
>-            goto cleanup;
>+        g_autoptr(virBitmap) map = NULL;
>+        g_autofree char *str = NULL;
>
>-        str = virBitmapToString(map);
>-        if (!str)
>-            goto cleanup;
>+        if (!(map = virBitmapNewString(strings[i])))
>+            return -1;
>+
>+        if (!(str = virBitmapToString(map)))
>+            return -1;
>
>         if (STRNEQ(strings[i], str)) {
>-            fprintf(stderr, "\n expected bitmap string '%s' actual string "
>-                    "'%s'\n", strings[i], str);
>-            goto cleanup;
>+            fprintf(stderr, "\n expected bitmap string '%s' actual string '%s'\n",
>+                    strings[i], str);

You also altered the error message.

>+            return -1;
>         }
>-

With that at least mentioned in the commit message:
Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano