From 5776c1623c1d14b8624547db5755fec8d60fc8ed Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Wed, 6 May 2009 08:47:56 +0000 Subject: #5947: add PendingDeprecationWarning to PyCObject functions. --- Objects/cobject.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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" -- cgit v0.12