[libvirt] [PATCH 05/10] virsh: getSignalNumber: use g_autofree

Ján Tomko jtomko at redhat.com
Fri Oct 18 22:37:49 UTC 2019


Mark the 'str' variable as g_autofree and avoid the need for
a separate cleanup label.

Signed-off-by: Ján Tomko <jtomko at redhat.com>
---
 tools/virsh-domain.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index d74a671167..44eb8a5d32 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -8806,27 +8806,21 @@ static int getSignalNumber(vshControl *ctl, const char *signame)
 {
     size_t i;
     int signum;
-    char *str = vshStrdup(ctl, signame);
+    g_autofree char *str = vshStrdup(ctl, signame);
     char *p = str;
 
     for (i = 0; signame[i]; i++)
         p[i] = c_tolower(signame[i]);
 
     if (virStrToLong_i(p, NULL, 10, &signum) >= 0)
-        goto cleanup;
+        return signum;
 
     if (STRPREFIX(p, "sig_"))
         p += 4;
     else if (STRPREFIX(p, "sig"))
         p += 3;
 
-    if ((signum = virDomainProcessSignalTypeFromString(p)) >= 0)
-        goto cleanup;
-
-    signum = -1;
- cleanup:
-    VIR_FREE(str);
-    return signum;
+    return virDomainProcessSignalTypeFromString(p);
 }
 
 static bool
-- 
2.21.0




More information about the libvir-list mailing list