- Py_DECREF: Add `do { ... } while (0)' to avoid compiler warnings.

(avoiding brown paper typo this time)
This commit is contained in:
Matthias Klose 2009-04-05 12:43:08 +00:00
parent 6c59e72576
commit 0610e0808b
2 changed files with 9 additions and 5 deletions

View File

@ -749,11 +749,13 @@ PyAPI_FUNC(void) _Py_AddToAllObjects(PyObject *, int force);
((PyObject*)(op))->ob_refcnt++) ((PyObject*)(op))->ob_refcnt++)
#define Py_DECREF(op) \ #define Py_DECREF(op) \
if (_Py_DEC_REFTOTAL _Py_REF_DEBUG_COMMA \ do { \
--((PyObject*)(op))->ob_refcnt != 0) \ if (_Py_DEC_REFTOTAL _Py_REF_DEBUG_COMMA \
_Py_CHECK_REFCNT(op) \ --((PyObject*)(op))->ob_refcnt != 0) \
else \ _Py_CHECK_REFCNT(op) \
_Py_Dealloc((PyObject *)(op)) else \
_Py_Dealloc((PyObject *)(op)); \
} while (0)
/* Safely decref `op` and set `op` to NULL, especially useful in tp_clear /* Safely decref `op` and set `op` to NULL, especially useful in tp_clear
* and tp_dealloc implementatons. * and tp_dealloc implementatons.

View File

@ -207,6 +207,8 @@ Core and Builtins
- Issue #3845: In PyRun_SimpleFileExFlags avoid invalid memory access with - Issue #3845: In PyRun_SimpleFileExFlags avoid invalid memory access with
short file names. short file names.
- Py_DECREF: Add `do { ... } while (0)' to avoid compiler warnings.
Library Library
------- -------