virsh: getSignalNumber: use g_autofree

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

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
Ján Tomko 2019-10-18 23:32:12 +02:00
parent b6a8c9df4d
commit 5c808a09a7

View File

@ -8806,27 +8806,21 @@ static int getSignalNumber(vshControl *ctl, const char *signame)
{ {
size_t i; size_t i;
int signum; int signum;
char *str = vshStrdup(ctl, signame); g_autofree char *str = vshStrdup(ctl, signame);
char *p = str; char *p = str;
for (i = 0; signame[i]; i++) for (i = 0; signame[i]; i++)
p[i] = c_tolower(signame[i]); p[i] = c_tolower(signame[i]);
if (virStrToLong_i(p, NULL, 10, &signum) >= 0) if (virStrToLong_i(p, NULL, 10, &signum) >= 0)
goto cleanup; return signum;
if (STRPREFIX(p, "sig_")) if (STRPREFIX(p, "sig_"))
p += 4; p += 4;
else if (STRPREFIX(p, "sig")) else if (STRPREFIX(p, "sig"))
p += 3; p += 3;
if ((signum = virDomainProcessSignalTypeFromString(p)) >= 0) return virDomainProcessSignalTypeFromString(p);
goto cleanup;
signum = -1;
cleanup:
VIR_FREE(str);
return signum;
} }
static bool static bool