summaryrefslogtreecommitdiffstats
path: root/Objects/cobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'Objects/cobject.c')
-rw-r--r--Objects/cobject.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/Objects/cobject.c b/Objects/cobject.c
index e9b71df..a692150 100644
--- a/Objects/cobject.c
+++ b/Objects/cobject.c
@@ -9,11 +9,23 @@
typedef void (*destructor1)(void *);
typedef void (*destructor2)(void *, void*);
+
+static int deprecation_exception(void)
+{
+ return PyErr_WarnEx(PyExc_PendingDeprecationWarning,
+ "The CObject API is deprecated as of Python 3.1. "
+ "Please convert to using the Capsule API.", 1);
+}
+
PyObject *
PyCObject_FromVoidPtr(void *cobj, void (*destr)(void *))
{
PyCObject *self;
+ if (deprecation_exception()) {
+ return NULL;
+ }
+
self = PyObject_NEW(PyCObject, &PyCObject_Type);
if (self == NULL)
return NULL;
@@ -30,6 +42,10 @@ PyCObject_FromVoidPtrAndDesc(void *cobj, void *desc,
{
PyCObject *self;
+ if (deprecation_exception()) {
+ return NULL;
+ }
+
if (!desc) {
PyErr_SetString(PyExc_TypeError,
"PyCObject_FromVoidPtrAndDesc called with null"