On Thu, Oct 25, 2012 at 9:06 PM, Peter Maydell <peter.mayd...@linaro.org> wrote: > On 25 October 2012 13:57, Dong Xu Wang <wdon...@linux.vnet.ibm.com> wrote: >> While id is NULL, qemu_opts_create can not fail, so ignore >> errors is fine. >> >> Signed-off-by: Dong Xu Wang <wdon...@linux.vnet.ibm.com> >> --- >> 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; > }
Okay, will do that in next version, thank you Peter. > > -- PMM >