From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:47080) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UaQuC-0007tF-Sv for qemu-devel@nongnu.org; Thu, 09 May 2013 09:29:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UaQuA-0003Xl-1o for qemu-devel@nongnu.org; Thu, 09 May 2013 09:29:08 -0400 Received: from mx1.redhat.com ([209.132.183.28]:63474) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UaQu9-0003Xd-Om for qemu-devel@nongnu.org; Thu, 09 May 2013 09:29:05 -0400 Message-ID: <518BA51C.4080207@redhat.com> Date: Thu, 09 May 2013 15:31:08 +0200 From: Laszlo Ersek MIME-Version: 1.0 References: <1368056037-16350-1-git-send-email-mdroth@linux.vnet.ibm.com> In-Reply-To: <1368056037-16350-1-git-send-email-mdroth@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 0/8] qapi: add support for lists of native types List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Roth Cc: akong@redhat.com, qemu-devel@nongnu.org, lcapitulino@redhat.com On 05/09/13 01:33, Michael Roth wrote: > These patches apply on top of qemu.git master, and can also be obtained from: > git://github.com/mdroth/qemu.git qapi-native-lists > > Sending this now since a number of series have popped up in the past that > wanted this, and Amos has some pending patches (query-mac-tables) that rely > on this as well. > > These patches add support for specifying lists of native qapi types > (int/bool/str/number) like so: > > { 'type': 'foo', > 'data': { 'bar': ['int'] }} > > for a 'bar' field that is a list of type 'int', > > { 'type': 'foo2', > 'data': { 'bar2': ['str'] }} > > for a 'bar2' field that is a list of type 'str', and so on. > > This uses linked list types for the native C representations, just as we do > for complex schema-defined types. In the future we may add schema annotations > of some sort to specify a more natural/efficient array type for the C > representations, but this should serve the majority of uses-cases for now. > > Makefile | 6 +- > qapi-schema-test.json | 8 ++ > scripts/qapi-types.py | 44 ++++++- > scripts/qapi-visit.py | 36 ++++- > scripts/qapi.py | 21 +++ > tests/test-qmp-input-visitor.c | 181 +++++++++++++++++++++++++ > tests/test-qmp-output-visitor.c | 172 ++++++++++++++++++++++++ > tests/test-visitor-serialization.c | 256 +++++++++++++++++++++++++++++++++--- > 8 files changed, 692 insertions(+), 32 deletions(-) > > Two notes: - the remark I made for 6/8 (comparing empty strings), - for 7/8 and 8/8: the format specification %3.4f is not very useful. "3" is the field width, "4" is the precision, and the latter means for %f the number of digits printed after the radix character. It's not useful to specify a smaller field width (which covers the entire output string) than precision here. Other than these nothing pokes me in the eye. Laszlo