[Python-checkins] cpython (merge 3.3 -> default): (3.3->default): #18480: Add missing PyType_Ready call to _elementtree extension

ronald.oussoren python-checkins at python.org
Fri Jul 19 11:14:25 CEST 2013


http://hg.python.org/cpython/rev/7362722646f7
changeset:   84715:7362722646f7
parent:      84713:2079a517193b
parent:      84714:cd4c9d4bd88f
user:        Ronald Oussoren <ronaldoussoren at mac.com>
date:        Fri Jul 19 11:14:05 2013 +0200
summary:
  (3.3->default): #18480: Add missing PyType_Ready call to _elementtree extension

files:
  Misc/NEWS              |   2 ++
  Modules/_elementtree.c |  14 +++++++++-----
  2 files changed, 11 insertions(+), 5 deletions(-)


diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -159,6 +159,8 @@
 Library
 -------
 
+- Issue #18480: Add missing call to PyType_Ready to the _elementtree extension.
+
 - Issue #17778: Fix test discovery for test_multiprocessing. (Patch by
   Zachary Ware.)
 
diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c
--- a/Modules/_elementtree.c
+++ b/Modules/_elementtree.c
@@ -59,6 +59,13 @@
 #define JOIN_SET(p, flag) ((void*) ((Py_uintptr_t) (JOIN_OBJ(p)) | (flag)))
 #define JOIN_OBJ(p) ((PyObject*) ((Py_uintptr_t) (p) & ~(Py_uintptr_t)1))
 
+/* Types defined by this extension */
+static PyTypeObject Element_Type;
+static PyTypeObject ElementIter_Type;
+static PyTypeObject TreeBuilder_Type;
+static PyTypeObject XMLParser_Type;
+
+
 /* glue functions (see the init function for details) */
 static PyObject* elementtree_parseerror_obj;
 static PyObject* elementtree_deepcopy_obj;
@@ -159,7 +166,6 @@
 
 } ElementObject;
 
-static PyTypeObject Element_Type;
 
 #define Element_CheckExact(op) (Py_TYPE(op) == &Element_Type)
 
@@ -2182,8 +2188,6 @@
     PyObject *end_ns_event_obj;
 } TreeBuilderObject;
 
-static PyTypeObject TreeBuilder_Type;
-
 #define TreeBuilder_CheckExact(op) (Py_TYPE(op) == &TreeBuilder_Type)
 
 /* -------------------------------------------------------------------- */
@@ -2693,8 +2697,6 @@
 
 } XMLParserObject;
 
-static PyTypeObject XMLParser_Type;
-
 #define XMLParser_CheckExact(op) (Py_TYPE(op) == &XMLParser_Type)
 
 /* helpers */
@@ -3654,6 +3656,8 @@
     PyObject *m, *temp;
 
     /* Initialize object types */
+    if (PyType_Ready(&ElementIter_Type) < 0)
+        return NULL;
     if (PyType_Ready(&TreeBuilder_Type) < 0)
         return NULL;
     if (PyType_Ready(&Element_Type) < 0)

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list