[libvirt] [PATCH 4/5] virsh: Use VIR_AUTO machinery in cmdQemuMonitorCommand
Daniel Henrique Barboza
danielhb413 at gmail.com
Tue Sep 17 14:10:31 UTC 2019
On 9/16/19 9:45 AM, Peter Krempa wrote:
> Signed-off-by: Peter Krempa <pkrempa at redhat.com>
> ---
Reviewed-by: Daniel Henrique Barboza <danielhb413 at gmail.com>
> tools/virsh-domain.c | 24 +++++++-----------------
> 1 file changed, 7 insertions(+), 17 deletions(-)
>
> diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
> index 9913d703ec..8c24935938 100644
> --- a/tools/virsh-domain.c
> +++ b/tools/virsh-domain.c
> @@ -9506,14 +9506,13 @@ static const vshCmdOptDef opts_qemu_monitor_command[] = {
> static bool
> cmdQemuMonitorCommand(vshControl *ctl, const vshCmd *cmd)
> {
> - virDomainPtr dom = NULL;
> - bool ret = false;
> - char *monitor_cmd = NULL;
> - char *result = NULL;
> + VIR_AUTOPTR(virshDomain) dom = NULL;
> + VIR_AUTOFREE(char *) monitor_cmd = NULL;
> + VIR_AUTOFREE(char *) result = NULL;
> unsigned int flags = 0;
> const vshCmdOpt *opt = NULL;
> virBuffer buf = VIR_BUFFER_INITIALIZER;
> - virJSONValuePtr pretty = NULL;
> + VIR_AUTOPTR(virJSONValue) pretty = NULL;
>
> VSH_EXCLUSIVE_OPTIONS("hmp", "pretty");
>
> @@ -9527,7 +9526,7 @@ cmdQemuMonitorCommand(vshControl *ctl, const vshCmd *cmd)
>
> if (virBufferError(&buf)) {
> vshError(ctl, "%s", _("Failed to collect command"));
> - goto cleanup;
> + return false;
> }
> monitor_cmd = virBufferContentAndReset(&buf);
>
> @@ -9535,7 +9534,7 @@ cmdQemuMonitorCommand(vshControl *ctl, const vshCmd *cmd)
> flags |= VIR_DOMAIN_QEMU_MONITOR_COMMAND_HMP;
>
> if (virDomainQemuMonitorCommand(dom, monitor_cmd, &result, flags) < 0)
> - goto cleanup;
> + return false;
>
> if (vshCommandOptBool(cmd, "pretty")) {
> char *tmp;
> @@ -9549,16 +9548,7 @@ cmdQemuMonitorCommand(vshControl *ctl, const vshCmd *cmd)
> }
> }
> vshPrint(ctl, "%s\n", result);
> -
> - ret = true;
> -
> - cleanup:
> - VIR_FREE(result);
> - VIR_FREE(monitor_cmd);
> - virJSONValueFree(pretty);
> - virshDomainFree(dom);
> -
> - return ret;
> + return true;
> }
>
> /*
More information about the libvir-list
mailing list