From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45117) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y3ibF-0005aR-Bd for qemu-devel@nongnu.org; Wed, 24 Dec 2014 04:51:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y3ibC-0004K0-6G for qemu-devel@nongnu.org; Wed, 24 Dec 2014 04:51:25 -0500 Received: from szxga03-in.huawei.com ([119.145.14.66]:26105) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y3ibB-0004JS-IL for qemu-devel@nongnu.org; Wed, 24 Dec 2014 04:51:22 -0500 Message-ID: <549A8C86.5030906@huawei.com> Date: Wed, 24 Dec 2014 17:51:02 +0800 From: Gonglei MIME-Version: 1.0 References: <5499E8D4.4010903@redhat.com> <549A87B0.7010002@redhat.com> In-Reply-To: <549A87B0.7010002@redhat.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] '-usb' regressed by 49d2e648 ("machine: remove qemu_machine_opts global list") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Laszlo Ersek , qemu devel list , Marcel Apfelbaum On 2014/12/24 17:30, Paolo Bonzini wrote: > > > On 23/12/2014 23:12, Laszlo Ersek wrote: >> Apologies if this problem is known. After building qemu at ab0302ee: >> >> $ qemu-system-x86_64 -usb >> >> qemu-system-x86_64: util/qemu-option.c:387: qemu_opt_get_bool_helper: Assertion `opt->desc && opt->desc->type == QEMU_OPT_BOOL' failed. > > Does this work? > > diff --git a/util/qemu-option.c b/util/qemu-option.c > index a708241..4f1f86a 100644 > --- a/util/qemu-option.c > +++ b/util/qemu-option.c > @@ -384,7 +384,7 @@ static bool qemu_opt_get_bool_helper(QemuOpts *opts, > const char *name, > } > return ret; > } > - assert(opt->desc && opt->desc->type == QEMU_OPT_BOOL); > + assert(!opt->desc || opt->desc->type == QEMU_OPT_BOOL); > ret = opt->value.boolean; > if (del) { > qemu_opt_del_all(opts, name); > @@ -420,7 +420,7 @@ static uint64_t qemu_opt_get_number_helper(QemuOpts > *opts, const char *name, > } > return ret; > } > - assert(opt->desc && opt->desc->type == QEMU_OPT_NUMBER); > + assert(!opt->desc || opt->desc->type == QEMU_OPT_NUMBER); > ret = opt->value.uint; > if (del) { > qemu_opt_del_all(opts, name); > @@ -457,7 +457,7 @@ static uint64_t qemu_opt_get_size_helper(QemuOpts > *opts, const char *name, > } > return ret; > } > - assert(opt->desc && opt->desc->type == QEMU_OPT_SIZE); > + assert(!opt->desc || opt->desc->type == QEMU_OPT_SIZE); > ret = opt->value.uint; > if (del) { > qemu_opt_del_all(opts, name); > > Paolo > Nice~ Regards, -Gonglei