From patchwork Fri Aug 21 15:36:58 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?UTF-8?B?Wm9sdMOhbiBLxZF2w6Fnw7M=?= X-Patchwork-Id: 509521 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id E19B31402A9 for ; Sat, 22 Aug 2015 01:38:27 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=mej6hyFU; dkim-atps=neutral Received: from localhost ([::1]:42140 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZSoOf-0003A4-Aq for incoming@patchwork.ozlabs.org; Fri, 21 Aug 2015 11:38:25 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50563) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZSoO0-00026N-L9 for qemu-devel@nongnu.org; Fri, 21 Aug 2015 11:37:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZSoNy-0001yF-JZ for qemu-devel@nongnu.org; Fri, 21 Aug 2015 11:37:44 -0400 Received: from mail-wi0-x230.google.com ([2a00:1450:400c:c05::230]:34807) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZSoNy-0001y4-CP for qemu-devel@nongnu.org; Fri, 21 Aug 2015 11:37:42 -0400 Received: by wicne3 with SMTP id ne3so23090455wic.1 for ; Fri, 21 Aug 2015 08:37:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; bh=0TMbdveAGMHfwQvCkRqQ3Mdk3uiu+dfzZWSXbe2Y6cc=; b=mej6hyFUAwRlwuF3Cp3X5/WsbDQqk/gQmR6LkK8Ka9Hg/AF/2mw83W3yhF4Pr1+nJm f5pD/oKst0UuLIIQIznqgpVXGVgjrXTpxvZYdaAvqaunDPLDxfXjqnDw0WadlOXFpRVx 1OPLxgwv4IZScWKmHa0XZ9z5AkP/BiBRkD6SdUfFvSMuCGjjnSojn9Ro6IXKQCUhIx+C NgyuYGyERvKft39speKvzkwkdTsd+rG032uSP2mGtKE1mAcsDzCkMpge8d/ADIWkLQCP NdWsC/MPDOG86grpy96sNQeGNRkm2+Tzt5cmNx2wGXqDzDW5xke9zZYKTkeAKFLRoNtO c5OQ== X-Received: by 10.180.101.138 with SMTP id fg10mr6861839wib.46.1440171461652; Fri, 21 Aug 2015 08:37:41 -0700 (PDT) Received: from nullptr.home.dirty-ice.org (178-164-172-216.pool.digikabel.hu. [178.164.172.216]) by smtp.gmail.com with ESMTPSA id v8sm10479895wjr.15.2015.08.21.08.37.40 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 21 Aug 2015 08:37:41 -0700 (PDT) From: "=?UTF-8?q?K=C5=91v=C3=A1g=C3=B3=2C=20Zolt=C3=A1n?=" X-Google-Original-From: =?UTF-8?q?K=C5=91v=C3=A1g=C3=B3=2C=20Zolt=C3=A1n?= To: qemu-devel@nongnu.org Date: Fri, 21 Aug 2015 17:36:58 +0200 Message-Id: <580510dab896194d783842921123117cd94e2f01.1440171025.git.DirtY.iCE.hu@gmail.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: References: MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c05::230 Cc: Michael Roth , Gerd Hoffmann , Markus Armbruster Subject: [Qemu-devel] [PATCH v2 02/49] qapi: support implicit structs in OptsVisitor X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org They are required for flat unions (you still have to allocate the structs). Signed-off-by: Kővágó, Zoltán Reviewed-by: Eric Blake --- qapi/opts-visitor.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/qapi/opts-visitor.c b/qapi/opts-visitor.c index 7ae33b3..aa68814 100644 --- a/qapi/opts-visitor.c +++ b/qapi/opts-visitor.c @@ -149,6 +149,12 @@ opts_start_struct(Visitor *v, void **obj, const char *kind, } } +static void +opts_start_implicit_struct(Visitor *v, void **obj, size_t size, Error **errp) +{ + opts_start_struct(v, obj, NULL, NULL, size, errp); +} + static gboolean ghr_true(gpointer ign_key, gpointer ign_value, gpointer ign_user_data) @@ -185,6 +191,12 @@ opts_end_struct(Visitor *v, Error **errp) ov->fake_id_opt = NULL; } +static void +opts_end_implicit_struct(Visitor *v, Error **errp) +{ + opts_end_struct(v, errp); +} + static GQueue * lookup_distinct(const OptsVisitor *ov, const char *name, Error **errp) @@ -508,6 +520,9 @@ opts_visitor_new(const QemuOpts *opts) ov->visitor.start_struct = &opts_start_struct; ov->visitor.end_struct = &opts_end_struct; + ov->visitor.start_implicit_struct = &opts_start_implicit_struct; + ov->visitor.end_implicit_struct = &opts_end_implicit_struct; + ov->visitor.start_list = &opts_start_list; ov->visitor.next_list = &opts_next_list; ov->visitor.end_list = &opts_end_list;