diff options
author | Matthias Klose <doko@ubuntu.com> | 2009-04-05 21:19:13 (GMT) |
---|---|---|
committer | Matthias Klose <doko@ubuntu.com> | 2009-04-05 21:19:13 (GMT) |
commit | 91a3b9e4f08a5e1325642c68543495c32fc853f9 (patch) | |
tree | 4a9213e6cad613529c58d77888e5fc6a123057d5 | |
parent | a5d58c831fa3b23960c9dfa78f7b9c62a31ce3e0 (diff) | |
download | cpython-91a3b9e4f08a5e1325642c68543495c32fc853f9.zip cpython-91a3b9e4f08a5e1325642c68543495c32fc853f9.tar.gz cpython-91a3b9e4f08a5e1325642c68543495c32fc853f9.tar.bz2 |
Issue #1113244: Py_XINCREF, Py_DECREF, Py_XDECREF: Add `do { ... } while (0)'
to avoid compiler warnings.
-rw-r--r-- | Include/object.h | 4 | ||||
-rw-r--r-- | Misc/NEWS | 3 | ||||
-rw-r--r-- | Modules/readline.c | 4 |
3 files changed, 6 insertions, 5 deletions
diff --git a/Include/object.h b/Include/object.h index 3d898f9..1bc13e7 100644 --- a/Include/object.h +++ b/Include/object.h @@ -801,8 +801,8 @@ PyAPI_FUNC(void) _Py_AddToAllObjects(PyObject *, int force); } while (0) /* Macros to use in case the object pointer may be NULL: */ -#define Py_XINCREF(op) if ((op) == NULL) ; else Py_INCREF(op) -#define Py_XDECREF(op) if ((op) == NULL) ; else Py_DECREF(op) +#define Py_XINCREF(op) do { if ((op) == NULL) ; else Py_INCREF(op); } while (0) +#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 @@ -207,7 +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. +- Issue #1113244: Py_XINCREF, Py_DECREF, Py_XDECREF: Add `do { ... } while (0)' + to avoid compiler warnings. Library ------- diff --git a/Modules/readline.c b/Modules/readline.c index f5a54bc..d09f09c 100644 --- a/Modules/readline.c +++ b/Modules/readline.c @@ -694,13 +694,13 @@ on_completion_display_matches_hook(char **matches, r = PyObject_CallFunction(completion_display_matches_hook, "sOi", matches[0], m, max_length); - Py_DECREF(m), m=NULL; + Py_DECREF(m); m=NULL; if (r == NULL || (r != Py_None && PyInt_AsLong(r) == -1 && PyErr_Occurred())) { goto error; } - Py_XDECREF(r), r=NULL; + Py_XDECREF(r); r=NULL; if (0) { error: |