summaryrefslogtreecommitdiffstats
path: root/Modules/_elementtree.c
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2007-07-21 06:55:02 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2007-07-21 06:55:02 (GMT)
commit6819210b9e4e5719a6f7f9c1725f8fa70a8936f6 (patch)
tree456e2e6b3d9d71e966f3b0e419ecfe44ce3c1fdd /Modules/_elementtree.c
parentb1994b4a5d0139a010eb0af1d6615a3df92fe786 (diff)
downloadcpython-6819210b9e4e5719a6f7f9c1725f8fa70a8936f6.zip
cpython-6819210b9e4e5719a6f7f9c1725f8fa70a8936f6.tar.gz
cpython-6819210b9e4e5719a6f7f9c1725f8fa70a8936f6.tar.bz2
PEP 3123: Provide forward compatibility with Python 3.0, while keeping
backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and PyVarObject_HEAD_INIT.
Diffstat (limited to 'Modules/_elementtree.c')
-rw-r--r--Modules/_elementtree.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c
index f21cf56..d8a28b4 100644
--- a/Modules/_elementtree.c
+++ b/Modules/_elementtree.c
@@ -269,7 +269,7 @@ typedef struct {
staticforward PyTypeObject Element_Type;
-#define Element_CheckExact(op) ((op)->ob_type == &Element_Type)
+#define Element_CheckExact(op) (Py_Type(op) == &Element_Type)
/* -------------------------------------------------------------------- */
/* element constructor and destructor */
@@ -1207,7 +1207,7 @@ element_setslice(PyObject* self_, Py_ssize_t start, Py_ssize_t end, PyObject* it
/* FIXME: support arbitrary sequences? */
PyErr_Format(
PyExc_TypeError,
- "expected list, not \"%.200s\"", item->ob_type->tp_name
+ "expected list, not \"%.200s\"", Py_Type(item)->tp_name
);
return -1;
}
@@ -1440,7 +1440,7 @@ typedef struct {
staticforward PyTypeObject TreeBuilder_Type;
-#define TreeBuilder_CheckExact(op) ((op)->ob_type == &TreeBuilder_Type)
+#define TreeBuilder_CheckExact(op) (Py_Type(op) == &TreeBuilder_Type)
/* -------------------------------------------------------------------- */
/* constructor and destructor */
@@ -1607,7 +1607,7 @@ treebuilder_handle_data(TreeBuilderObject* self, PyObject* data)
Py_INCREF(data); self->data = data;
} else {
/* more than one item; use a list to collect items */
- if (PyString_CheckExact(self->data) && self->data->ob_refcnt == 1 &&
+ if (PyString_CheckExact(self->data) && Py_Refcnt(self->data) == 1 &&
PyString_CheckExact(data) && PyString_GET_SIZE(data) == 1) {
/* expat often generates single character data sections; handle
the most common case by resizing the existing string... */
@@ -2623,9 +2623,9 @@ init_elementtree(void)
#endif
/* Patch object type */
- Element_Type.ob_type = TreeBuilder_Type.ob_type = &PyType_Type;
+ Py_Type(&Element_Type) = Py_Type(&TreeBuilder_Type) = &PyType_Type;
#if defined(USE_EXPAT)
- XMLParser_Type.ob_type = &PyType_Type;
+ Py_Type(&XMLParser_Type) = &PyType_Type;
#endif
m = Py_InitModule("_elementtree", _functions);