From 1b5510c42d681c201d727ed670a2c8f6c054b5f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Tomko?= Date: Fri, 10 Dec 2021 17:21:27 +0100 Subject: [PATCH] util: dnsmasq: refactor CapsRefresh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use two variables with automatic cleanup instead of reusing one. Remove the pointless cleanup label. Signed-off-by: Ján Tomko Reviewed-by: Michal Privoznik --- src/util/virdnsmasq.c | 37 ++++++++++++++++--------------------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/src/util/virdnsmasq.c b/src/util/virdnsmasq.c index 2dd9a20377..b62e353ceb 100644 --- a/src/util/virdnsmasq.c +++ b/src/util/virdnsmasq.c @@ -666,9 +666,9 @@ dnsmasqCapsSetFromBuffer(dnsmasqCaps *caps, const char *buf) static int dnsmasqCapsRefreshInternal(dnsmasqCaps *caps, bool force) { - int ret = -1; struct stat sb; - virCommand *cmd = NULL; + g_autoptr(virCommand) vercmd = NULL; + g_autoptr(virCommand) helpcmd = NULL; g_autofree char *help = NULL; g_autofree char *version = NULL; g_autofree char *complete = NULL; @@ -692,31 +692,26 @@ dnsmasqCapsRefreshInternal(dnsmasqCaps *caps, bool force) if (!virFileIsExecutable(caps->binaryPath)) { virReportSystemError(errno, _("dnsmasq binary %s is not executable"), caps->binaryPath); - goto cleanup; + return -1; } - cmd = virCommandNewArgList(caps->binaryPath, "--version", NULL); - virCommandSetOutputBuffer(cmd, &version); - virCommandAddEnvPassCommon(cmd); - virCommandClearCaps(cmd); - if (virCommandRun(cmd, NULL) < 0) - goto cleanup; - virCommandFree(cmd); + vercmd = virCommandNewArgList(caps->binaryPath, "--version", NULL); + virCommandSetOutputBuffer(vercmd, &version); + virCommandAddEnvPassCommon(vercmd); + virCommandClearCaps(vercmd); + if (virCommandRun(vercmd, NULL) < 0) + return -1; - cmd = virCommandNewArgList(caps->binaryPath, "--help", NULL); - virCommandSetOutputBuffer(cmd, &help); - virCommandAddEnvPassCommon(cmd); - virCommandClearCaps(cmd); - if (virCommandRun(cmd, NULL) < 0) - goto cleanup; + helpcmd = virCommandNewArgList(caps->binaryPath, "--help", NULL); + virCommandSetOutputBuffer(helpcmd, &help); + virCommandAddEnvPassCommon(helpcmd); + virCommandClearCaps(helpcmd); + if (virCommandRun(helpcmd, NULL) < 0) + return -1; complete = g_strdup_printf("%s\n%s", version, help); - ret = dnsmasqCapsSetFromBuffer(caps, complete); - - cleanup: - virCommandFree(cmd); - return ret; + return dnsmasqCapsSetFromBuffer(caps, complete); } static dnsmasqCaps *