diff options
Diffstat (limited to 'Tools/bgen/bgen/bgenObjectDefinition.py')
-rw-r--r-- | Tools/bgen/bgen/bgenObjectDefinition.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Tools/bgen/bgen/bgenObjectDefinition.py b/Tools/bgen/bgen/bgenObjectDefinition.py index d84dffed8b..10a4468a06 100644 --- a/Tools/bgen/bgen/bgenObjectDefinition.py +++ b/Tools/bgen/bgen/bgenObjectDefinition.py @@ -57,18 +57,22 @@ class ObjectDefinition(GeneratorGroup): OutHeader2("End object type " + self.name) def outputNew(self): - Output("static %s *%s_New(itself)", self.objecttype, self.prefix) + Output("static PyObject *%s_New(itself)", self.prefix) IndentLevel() Output("const %s %sitself;", self.itselftype, self.argref) DedentLevel() OutLbrace() Output("%s *it;", self.objecttype) + self.outputCheckNewArg() Output("it = PyObject_NEW(%s, &%s);", self.objecttype, self.typename) Output("if (it == NULL) return NULL;") Output("it->ob_itself = %sitself;", self.argref) - Output("return it;") + Output("return (PyObject *)it;") OutRbrace() Output() + + def outputCheckNewArg(self): + pass def outputConvert(self): Output("""\ |