From 1f700974a2647f5820c2b6f232c1fcae763d37aa Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Wed, 1 May 2013 14:12:40 +0200 Subject: move [GS]etVTable utility code to more appropriate ImportExport.c file --- Cython/Utility/ExtensionTypes.c | 49 ----------------------------------------- 1 file changed, 49 deletions(-) (limited to 'Cython/Utility/ExtensionTypes.c') diff --git a/Cython/Utility/ExtensionTypes.c b/Cython/Utility/ExtensionTypes.c index 0dde7b814..423ed9673 100644 --- a/Cython/Utility/ExtensionTypes.c +++ b/Cython/Utility/ExtensionTypes.c @@ -51,52 +51,3 @@ static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) { if (type && type->tp_clear) type->tp_clear(obj); } - - -/////////////// SetVTable.proto /////////////// - -static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/ - -/////////////// SetVTable /////////////// - -static int __Pyx_SetVtable(PyObject *dict, void *vtable) { -#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0) - PyObject *ob = PyCapsule_New(vtable, 0, 0); -#else - PyObject *ob = PyCObject_FromVoidPtr(vtable, 0); -#endif - if (!ob) - goto bad; - if (PyDict_SetItem(dict, PYIDENT("__pyx_vtable__"), ob) < 0) - goto bad; - Py_DECREF(ob); - return 0; -bad: - Py_XDECREF(ob); - return -1; -} - -/////////////// GetVTable.proto /////////////// - -static void* __Pyx_GetVtable(PyObject *dict); /*proto*/ - -/////////////// GetVTable /////////////// - -static void* __Pyx_GetVtable(PyObject *dict) { - void* ptr; - PyObject *ob = PyObject_GetItem(dict, PYIDENT("__pyx_vtable__")); - if (!ob) - goto bad; -#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0) - ptr = PyCapsule_GetPointer(ob, 0); -#else - ptr = PyCObject_AsVoidPtr(ob); -#endif - if (!ptr && !PyErr_Occurred()) - PyErr_SetString(PyExc_RuntimeError, "invalid vtable found for imported type"); - Py_DECREF(ob); - return ptr; -bad: - Py_XDECREF(ob); - return NULL; -} -- cgit v1.2.1