diff options
author | Vitja Makarov <vitja.makarov@gmail.com> | 2013-05-23 19:56:19 +0400 |
---|---|---|
committer | Vitja Makarov <vitja.makarov@gmail.com> | 2013-05-24 10:59:39 +0400 |
commit | 0b4143878fd45ed611753bbc805ef5eba61906b7 (patch) | |
tree | cf078bf3dcabdb754ae2ad02dd8acfa9d58dedfe /Cython/Utility/ModuleSetupCode.c | |
parent | d0627fcb5e68c038903e12ee9f84385a7a27c63c (diff) | |
download | cython-0b4143878fd45ed611753bbc805ef5eba61906b7.tar.gz |
Fix external reference assignment
Diffstat (limited to 'Cython/Utility/ModuleSetupCode.c')
-rw-r--r-- | Cython/Utility/ModuleSetupCode.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Cython/Utility/ModuleSetupCode.c b/Cython/Utility/ModuleSetupCode.c index 13d4418f3..c0c59f61d 100644 --- a/Cython/Utility/ModuleSetupCode.c +++ b/Cython/Utility/ModuleSetupCode.c @@ -531,6 +531,15 @@ static int __Pyx_check_binary_version(void) { #define __Pyx_XGIVEREF(r) #endif /* CYTHON_REFNANNY */ +#define __Pyx_XDECREF_SET(r, v) do { \ + PyObject *tmp = (PyObject *) r; \ + r = v; __Pyx_XDECREF(tmp); \ + } while (0) +#define __Pyx_DECREF_SET(r, v) do { \ + PyObject *tmp = (PyObject *) r; \ + r = v; __Pyx_DECREF(tmp); \ + } while (0) + #define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0) #define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0) |