shithub: aubio

Download patch

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 *