On 25 October 2012 13:57, Dong Xu Wang <[email protected]> wrote:
> While id is NULL, qemu_opts_create can not fail, so ignore
> errors is fine.
>
> Signed-off-by: Dong Xu Wang <[email protected]>
> ---
> 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