Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 138d080

Browse files
#18480: Add missing PyType_Ready call to _elementtree extension
1 parent 45e9039 commit 138d080

2 files changed

Lines changed: 11 additions & 5 deletions

File tree

Misc/NEWS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ Core and Builtins
4949
Library
5050
-------
5151

52+
- Issue #18480: Add missing call to PyType_Ready to the _elementtree extension.
53+
5254
- Issue #17778: Fix test discovery for test_multiprocessing. (Patch by
5355
Zachary Ware.)
5456

Modules/_elementtree.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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) */
104111
static PyObject* elementtree_parseerror_obj;
105112
static 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

Comments
 (0)