ref: 770b9e745c48b68ffb3f274adee0d14d52274868
parent: 8b8a0203cfe66c34655acc40fa147e6e8e3fe09b
author: Nils Philippsen <nils@tiptoe.de>
date: Wed Nov 25 19:38:48 EST 2015
Python 3: use Py_TYPE() instead of ob_type member
--- a/python/ext/aubio-types.h
+++ b/python/ext/aubio-types.h
@@ -39,6 +39,11 @@
#define AUBIO_NPY_SMPL NPY_FLOAT
#endif
+// compat with Python < 2.6
+#ifndef Py_TYPE
+#define Py_TYPE(ob) (((PyObject*)(ob))->ob_type)
+#endif
+
// special python type for cvec
typedef struct
{
--- a/python/ext/aubiowraphell.h
+++ b/python/ext/aubiowraphell.h
@@ -25,7 +25,7 @@
Py_ ## NAME ## _del ( Py_ ## NAME * self) \
{ \
del_aubio_ ## NAME (self->o); \
- self->ob_type->tp_free ((PyObject *) self); \
+ Py_TYPE(self)->tp_free ((PyObject *) self); \
}
#define AUBIO_MEMBERS_START(NAME) \
--- a/python/ext/py-cvec.c
+++ b/python/ext/py-cvec.c
@@ -59,7 +59,7 @@
Py_cvec_del (Py_cvec * self)
{
del_cvec (self->o);
- self->ob_type->tp_free ((PyObject *) self);
+ Py_TYPE(self)->tp_free ((PyObject *) self);
}
static PyObject *
--- a/python/ext/py-filter.c
+++ b/python/ext/py-filter.c
@@ -55,7 +55,7 @@
Py_filter_del (Py_filter * self)
{
del_aubio_filter (self->o);
- self->ob_type->tp_free ((PyObject *) self);
+ Py_TYPE(self)->tp_free ((PyObject *) self);
}
static PyObject *