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; } -- PMM