Issue #1113244: Py_XINCREF, Py_DECREF, Py_XDECREF: Add `do { ... } while (0)'

to avoid compiler warnings.
This commit is contained in:
Matthias Klose 2009-04-05 21:19:13 +00:00
parent a5d58c831f
commit 91a3b9e4f0
3 changed files with 6 additions and 5 deletions

View File

@ -801,8 +801,8 @@ PyAPI_FUNC(void) _Py_AddToAllObjects(PyObject *, int force);
} while (0) } while (0)
/* Macros to use in case the object pointer may be NULL: */ /* Macros to use in case the object pointer may be NULL: */
#define Py_XINCREF(op) if ((op) == NULL) ; else Py_INCREF(op) #define Py_XINCREF(op) do { if ((op) == NULL) ; else Py_INCREF(op); } while (0)
#define Py_XDECREF(op) if ((op) == NULL) ; else Py_DECREF(op) #define Py_XDECREF(op) do { if ((op) == NULL) ; else Py_DECREF(op); } while (0)
/* /*
These are provided as conveniences to Python runtime embedders, so that These are provided as conveniences to Python runtime embedders, so that

View File

@ -207,7 +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. - Issue #1113244: Py_XINCREF, Py_DECREF, Py_XDECREF: Add `do { ... } while (0)'
to avoid compiler warnings.
Library Library
------- -------

View File

@ -694,13 +694,13 @@ on_completion_display_matches_hook(char **matches,
r = PyObject_CallFunction(completion_display_matches_hook, r = PyObject_CallFunction(completion_display_matches_hook,
"sOi", matches[0], m, max_length); "sOi", matches[0], m, max_length);
Py_DECREF(m), m=NULL; Py_DECREF(m); m=NULL;
if (r == NULL || if (r == NULL ||
(r != Py_None && PyInt_AsLong(r) == -1 && PyErr_Occurred())) { (r != Py_None && PyInt_AsLong(r) == -1 && PyErr_Occurred())) {
goto error; goto error;
} }
Py_XDECREF(r), r=NULL; Py_XDECREF(r); r=NULL;
if (0) { if (0) {
error: error: