From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49016) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aM8dh-0003uz-Kl for qemu-devel@nongnu.org; Thu, 21 Jan 2016 01:22:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aM8dc-00011O-Ht for qemu-devel@nongnu.org; Thu, 21 Jan 2016 01:22:37 -0500 Received: from mx1.redhat.com ([209.132.183.28]:49439) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aM8dc-00011E-CK for qemu-devel@nongnu.org; Thu, 21 Jan 2016 01:22:32 -0500 From: Markus Armbruster References: <1453219845-30939-1-git-send-email-eblake@redhat.com> <1453219845-30939-3-git-send-email-eblake@redhat.com> <87egdczhwh.fsf@blackfin.pond.sub.org> <569FAED2.3060609@redhat.com> Date: Thu, 21 Jan 2016 07:22:29 +0100 In-Reply-To: <569FAED2.3060609@redhat.com> (Eric Blake's message of "Wed, 20 Jan 2016 08:59:14 -0700") Message-ID: <87fuxrih96.fsf@blackfin.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v9 02/37] qapi: Avoid use of misnamed DO_UPCAST() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake Cc: marcandre.lureau@redhat.com, qemu-devel@nongnu.org, Michael Roth Eric Blake writes: > On 01/20/2016 03:04 AM, Markus Armbruster wrote: >> Eric Blake writes: >>=20 >>> The macro DO_UPCAST() is incorrectly named: it converts from a >>> parent class to a derived class (which is a downcast). Better, >>> and more consistent with some of the other qapi visitors, is >>> to use the container_of() macro through a to_FOO() helper. >>> >>> Our current definition of container_of() is weaker than >>> DO_UPCAST(), in that it does not require the derived class to >>> have Visitor as its first member, but this does not hurt our >>> usage patterns in qapi visitors. >>> >>> Signed-off-by: Eric Blake >>> Reviewed-by: Marc-Andr=C3=A9 Lureau >>> > >>> >>> +static OptsVisitor *to_ov(Visitor *v) >>> +{ >>> + return container_of(v, OptsVisitor, visitor); >>> +} >>> + >>> + >>=20 >> The name to_ov() is rather laconic even for my taste. Tolerable, since >> it's static. > > And matches existing practice pre-patch: > > qapi/qapi-dealloc-visitor.c:static QapiDeallocVisitor *to_qov(Visitor *v) > qapi/qmp-input-visitor.c:static QmpInputVisitor *to_qiv(Visitor *v) > qapi/qmp-output-visitor.c:static QmpOutputVisitor *to_qov(Visitor *v) > > >>=20 >> Patch gets rid of all DO_UPCAST() in qapi/. PATCH 33 brings one back; >> it should use to_ov() instead. > > D'oh. You can tell what order I wrote the patches in :) > > If I need to respin, I'll fix it; otherwise, I assume you can handle it. Yes.