ping ... > From: ata.hus...@hotmail.com > To: libvir-list@redhat.com > CC: ata.hus...@hotmail.com > Subject: [PATCH] ESX: Fix DISPATCH_FREE generation code to free all extended > objects > Date: Tue, 1 Jan 2013 22:22:28 -0800 > > Python code generator "generate_source" section that handles > code generation to "free" inherited objects needs to generate > DISPATCH_FREE calls for all extended_by objects. > --- > src/esx/esx_vi_generator.py | 21 ++++++++++++++++++--- > 1 file changed, 18 insertions(+), 3 deletions(-) > > diff --git a/src/esx/esx_vi_generator.py b/src/esx/esx_vi_generator.py > index af4e7e8..7a7cf76 100755 > --- a/src/esx/esx_vi_generator.py > +++ b/src/esx/esx_vi_generator.py > @@ -4,6 +4,7 @@ > # esx_vi_generator.py: generates most of the SOAP type mapping code > # > # Copyright (C) 2010-2012 Matthias Bolte <matthias.bo...@googlemail.com> > +# Copyright (C) 2013 Ata E Husain Bohra <ata.hus...@hotmail.com> > # > # This library is free software; you can redistribute it and/or > # modify it under the terms of the GNU Lesser General Public > @@ -785,9 +786,7 @@ class Object(Type): > source += "ESX_VI__TEMPLATE__DYNAMIC_FREE(%s,\n" % self.name > source += "{\n" > > - for extended_by in self.extended_by: > - source += " ESX_VI__TEMPLATE__DISPATCH__FREE(%s)\n" \ > - % extended_by > + source += recurse_dispatch(self, > "ESX_VI__TEMPLATE__DISPATCH__FREE") > > source += "},\n" > source += "{\n" > @@ -1285,6 +1284,22 @@ class ManagedObject(Type): > > > > +def recurse_dispatch(object, text): > + > + source = "" > + > + if object.extended_by is None: > + return source > + > + for extended_by in object.extended_by: > + source += " %s(%s)\n" % (text, extended_by) > + child = objects_by_name[extended_by] > + source += recurse_dispatch(child, text) > + > + return source > + > + > + > class Enum(Type): > FEATURE__ANY_TYPE = (1 << 1) > FEATURE__SERIALIZE = (1 << 2) > -- > 1.7.9.5 >
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list