qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V4 04/10] introduce qemu_opts_create_nofail func


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH V4 04/10] introduce qemu_opts_create_nofail function
Date: Thu, 25 Oct 2012 14:06:06 +0100

On 25 October 2012 13:57, Dong Xu Wang <address@hidden> wrote:
> While id is NULL, qemu_opts_create can not fail, so ignore
> errors is fine.
>
> Signed-off-by: Dong Xu Wang <address@hidden>
> ---
>  qemu-option.c |    5 +++++
>  qemu-option.h |    1 +
>  2 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/qemu-option.c b/qemu-option.c
> index e0131ce..d7d5ea9 100644
> --- a/qemu-option.c
> +++ b/qemu-option.c
> @@ -780,6 +780,11 @@ QemuOpts *qemu_opts_create(QemuOptsList *list, const 
> char *id,
>      return opts;
>  }
>
> +QemuOpts *qemu_opts_create_nofail(QemuOptsList *list)
> +{
> +    return qemu_opts_create(list, NULL, 0, NULL);
> +}

_nofail versions of routines generally abort() if the function
they are wrapping returns an error (compare qemu_ram_addr_from_host_nofail
or qdev_init_nofail). This code just ignores the error. Although
as you say at the moment there is nothing that sets an error
in the id==NULL case this is somewhat vulnerable to future code
changes in the function it calls.

I think this would be better as:

{
    QemuOpts *opts;
    Error *errp = NULL;
    opts = qemu_opts_create(list, NULL, 0, &errp);
    assert_no_error(errp);
    return opts;
}

-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]