From: Georg Brandl Date: Wed, 6 May 2009 08:47:56 +0000 (+0000) Subject: #5947: add PendingDeprecationWarning to PyCObject functions. X-Git-Tag: v3.1b1~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5776c1623c1d14b8624547db5755fec8d60fc8ed;p=thirdparty%2FPython%2Fcpython.git #5947: add PendingDeprecationWarning to PyCObject functions. --- diff --git a/Objects/cobject.c b/Objects/cobject.c index e9b71df58c26..a69215021d2c 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"