From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58683) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YW6DD-0001EZ-8Z for qemu-devel@nongnu.org; Thu, 12 Mar 2015 12:43:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YW6D6-0001Kt-1Q for qemu-devel@nongnu.org; Thu, 12 Mar 2015 12:43:55 -0400 Received: from cantor2.suse.de ([195.135.220.15]:47943 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YW6D5-0001KV-SF for qemu-devel@nongnu.org; Thu, 12 Mar 2015 12:43:47 -0400 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Thu, 12 Mar 2015 17:43:40 +0100 Message-Id: <1426178624-32638-6-git-send-email-afaerber@suse.de> In-Reply-To: <1426178624-32638-1-git-send-email-afaerber@suse.de> References: <1426178624-32638-1-git-send-email-afaerber@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH v2 5/9] qapi: Stub out StringOutputVisitor struct support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Michael Roth , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Luiz Capitulino Avoid a segfault when visiting, e.g., the QOM rtc-time property, by implementing the struct callbacks and raising an Error. Signed-off-by: Andreas F=C3=A4rber --- qapi/string-output-visitor.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/qapi/string-output-visitor.c b/qapi/string-output-visitor.c index 1ab8574..8b6cb9b 100644 --- a/qapi/string-output-visitor.c +++ b/qapi/string-output-visitor.c @@ -304,6 +304,18 @@ end_list(Visitor *v, Error **errp) =20 } =20 +static void start_struct(Visitor *v, void **obj, const char *kind, + const char *name, size_t unused, + Error **errp) +{ + error_setg(errp, "struct type not implemented"); +} + +static void end_struct(Visitor *v, Error **errp) +{ + error_setg(errp, "struct type not implemented"); +} + char *string_output_get_string(StringOutputVisitor *sov) { char *string =3D g_string_free(sov->string, false); @@ -349,6 +361,8 @@ StringOutputVisitor *string_output_visitor_new(bool h= uman) v->visitor.start_list =3D start_list; v->visitor.next_list =3D next_list; v->visitor.end_list =3D end_list; + v->visitor.start_struct =3D start_struct; + v->visitor.end_struct =3D end_struct; =20 return v; } --=20 2.1.4