From: Matthias Klose Date: Sun, 5 Apr 2009 12:43:08 +0000 (+0000) Subject: - Py_DECREF: Add `do { ... } while (0)' to avoid compiler warnings. X-Git-Tag: v2.7a1~1562 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0610e0808b8cd16137a0859a70bcf47a16da9aa5;p=python - Py_DECREF: Add `do { ... } while (0)' to avoid compiler warnings. (avoiding brown paper typo this time) --- diff --git a/Include/object.h b/Include/object.h index cfca64f9ab..3d898f905d 100644 --- a/Include/object.h +++ b/Include/object.h @@ -749,11 +749,13 @@ PyAPI_FUNC(void) _Py_AddToAllObjects(PyObject *, int force); ((PyObject*)(op))->ob_refcnt++) #define Py_DECREF(op) \ - if (_Py_DEC_REFTOTAL _Py_REF_DEBUG_COMMA \ - --((PyObject*)(op))->ob_refcnt != 0) \ - _Py_CHECK_REFCNT(op) \ - else \ - _Py_Dealloc((PyObject *)(op)) + do { \ + if (_Py_DEC_REFTOTAL _Py_REF_DEBUG_COMMA \ + --((PyObject*)(op))->ob_refcnt != 0) \ + _Py_CHECK_REFCNT(op) \ + else \ + _Py_Dealloc((PyObject *)(op)); \ + } while (0) /* Safely decref `op` and set `op` to NULL, especially useful in tp_clear * and tp_dealloc implementatons. diff --git a/Misc/NEWS b/Misc/NEWS index 13d220279e..685c689885 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -207,6 +207,8 @@ Core and Builtins - Issue #3845: In PyRun_SimpleFileExFlags avoid invalid memory access with short file names. +- Py_DECREF: Add `do { ... } while (0)' to avoid compiler warnings. + Library -------