@@ -100,6 +100,13 @@ do { memory -= size; printf("%8d - %s\n", memory, comment); } while (0)
100100#define JOIN_SET (p , flag ) ((void*) ((Py_uintptr_t) (JOIN_OBJ(p)) | (flag)))
101101#define JOIN_OBJ (p ) ((PyObject*) ((Py_uintptr_t) (p) & ~(Py_uintptr_t)1))
102102
103+ /* Types defined by this extension */
104+ static PyTypeObject Element_Type ;
105+ static PyTypeObject ElementIter_Type ;
106+ static PyTypeObject TreeBuilder_Type ;
107+ static PyTypeObject XMLParser_Type ;
108+
109+
103110/* glue functions (see the init function for details) */
104111static PyObject * elementtree_parseerror_obj ;
105112static PyObject * elementtree_deepcopy_obj ;
@@ -200,7 +207,6 @@ typedef struct {
200207
201208} ElementObject ;
202209
203- static PyTypeObject Element_Type ;
204210
205211#define Element_CheckExact (op ) (Py_TYPE(op) == &Element_Type)
206212
@@ -2204,8 +2210,6 @@ typedef struct {
22042210 PyObject * end_ns_event_obj ;
22052211} TreeBuilderObject ;
22062212
2207- static PyTypeObject TreeBuilder_Type ;
2208-
22092213#define TreeBuilder_CheckExact (op ) (Py_TYPE(op) == &TreeBuilder_Type)
22102214
22112215/* -------------------------------------------------------------------- */
@@ -2717,8 +2721,6 @@ typedef struct {
27172721
27182722} XMLParserObject ;
27192723
2720- static PyTypeObject XMLParser_Type ;
2721-
27222724#define XMLParser_CheckExact (op ) (Py_TYPE(op) == &XMLParser_Type)
27232725
27242726/* helpers */
@@ -3653,6 +3655,8 @@ PyInit__elementtree(void)
36533655 PyObject * m , * temp ;
36543656
36553657 /* Initialize object types */
3658+ if (PyType_Ready (& ElementIter_Type ) < 0 )
3659+ return NULL ;
36563660 if (PyType_Ready (& TreeBuilder_Type ) < 0 )
36573661 return NULL ;
36583662 if (PyType_Ready (& Element_Type ) < 0 )
0 commit comments