From 0610e0808b8cd16137a0859a70bcf47a16da9aa5 Mon Sep 17 00:00:00 2001 From: Matthias Klose Date: Sun, 5 Apr 2009 12:43:08 +0000 Subject: [PATCH] - Py_DECREF: Add `do { ... } while (0)' to avoid compiler warnings. (avoiding brown paper typo this time) --- Include/object.h | 12 +++++++----- Misc/NEWS | 2 ++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Include/object.h b/Include/object.h index cfca64f9ab6e..3d898f905d17 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 13d220279e0e..685c6898856d 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 -------