diff -r cd3fdf21a6e4 Modules/_ctypes/_ctypes.c --- a/Modules/_ctypes/_ctypes.c Thu Jan 16 14:15:03 2014 -0800 +++ b/Modules/_ctypes/_ctypes.c Fri Jan 17 22:10:11 2014 +0200 @@ -159,10 +159,8 @@ if (-1 == PyDict_DelItem(self->dict, self->key)) /* XXX Error context */ PyErr_WriteUnraisable(Py_None); - Py_DECREF(self->key); - self->key = NULL; - Py_DECREF(self->dict); - self->dict = NULL; + Py_CLEAR(self->key); + Py_CLEAR(self->dict); } Py_INCREF(Py_None); return Py_None; @@ -2934,10 +2932,8 @@ PyCFuncPtr_set_restype(PyCFuncPtrObject *self, PyObject *ob) { if (ob == NULL) { - Py_XDECREF(self->restype); - self->restype = NULL; - Py_XDECREF(self->checker); - self->checker = NULL; + Py_CLEAR(self->restype); + Py_CLEAR(self->checker); return 0; } if (ob != Py_None && !PyType_stgdict(ob) && !PyCallable_Check(ob)) { @@ -2980,10 +2976,8 @@ PyObject *converters; if (ob == NULL || ob == Py_None) { - Py_XDECREF(self->converters); - self->converters = NULL; - Py_XDECREF(self->argtypes); - self->argtypes = NULL; + Py_CLEAR(self->converters); + Py_CLEAR(self->argtypes); } else { converters = converters_from_argtypes(ob); if (!converters) diff -r cd3fdf21a6e4 Modules/_sqlite/cursor.c --- a/Modules/_sqlite/cursor.c Thu Jan 16 14:15:03 2014 -0800 +++ b/Modules/_sqlite/cursor.c Fri Jan 17 22:10:11 2014 +0200 @@ -229,8 +229,7 @@ if (converter != Py_None) { Py_DECREF(converter); } - Py_XDECREF(self->row_cast_map); - self->row_cast_map = NULL; + Py_CLEAR(self->row_cast_map); return -1; } @@ -447,8 +446,7 @@ self->locked = 1; self->reset = 0; - Py_XDECREF(self->next_row); - self->next_row = NULL; + Py_CLEAR(self->next_row); if (multiple) { /* executemany() */ @@ -864,8 +862,7 @@ if (!self->next_row) { if (self->statement) { (void)pysqlite_statement_reset(self->statement); - Py_DECREF(self->statement); - self->statement = NULL; + Py_CLEAR(self->statement); } return NULL; } diff -r cd3fdf21a6e4 Modules/posixmodule.c --- a/Modules/posixmodule.c Thu Jan 16 14:15:03 2014 -0800 +++ b/Modules/posixmodule.c Fri Jan 17 22:10:11 2014 +0200 @@ -780,8 +780,7 @@ static void path_cleanup(path_t *path) { if (path->cleanup) { - Py_DECREF(path->cleanup); - path->cleanup = NULL; + Py_CLEAR(path->cleanup); } } diff -r cd3fdf21a6e4 Modules/readline.c --- a/Modules/readline.c Thu Jan 16 14:15:03 2014 -0800 +++ b/Modules/readline.c Fri Jan 17 22:10:11 2014 +0200 @@ -281,8 +281,7 @@ if (!PyArg_ParseTuple(args, buf, &function)) return NULL; if (function == Py_None) { - Py_XDECREF(*hook_var); - *hook_var = NULL; + Py_CLEAR(*hook_var); } else if (PyCallable_Check(function)) { PyObject *tmp = *hook_var; diff -r cd3fdf21a6e4 Modules/selectmodule.c --- a/Modules/selectmodule.c Thu Jan 16 14:15:03 2014 -0800 +++ b/Modules/selectmodule.c Fri Jan 17 22:10:11 2014 +0200 @@ -66,8 +66,7 @@ { int i; for (i = 0; i < FD_SETSIZE + 1 && fd2obj[i].sentinel >= 0; i++) { - Py_XDECREF(fd2obj[i].obj); - fd2obj[i].obj = NULL; + Py_CLEAR(fd2obj[i].obj); } fd2obj[0].sentinel = -1; } diff -r cd3fdf21a6e4 Objects/tupleobject.c --- a/Objects/tupleobject.c Thu Jan 16 14:15:03 2014 -0800 +++ b/Objects/tupleobject.c Fri Jan 17 22:10:11 2014 +0200 @@ -879,8 +879,7 @@ _Py_ForgetReference((PyObject *) v); /* DECREF items deleted by shrinkage */ for (i = newsize; i < oldsize; i++) { - Py_XDECREF(v->ob_item[i]); - v->ob_item[i] = NULL; + Py_CLEAR(v->ob_item[i]); } sv = PyObject_GC_Resize(PyTupleObject, v, newsize); if (sv == NULL) { @@ -926,8 +925,7 @@ #if PyTuple_MAXSAVESIZE > 0 /* empty tuples are used all over the place and applications may * rely on the fact that an empty tuple is a singleton. */ - Py_XDECREF(free_list[0]); - free_list[0] = NULL; + Py_CLEAR(free_list[0]); (void)PyTuple_ClearFreeList(); #endif diff -r cd3fdf21a6e4 Objects/unicodeobject.c --- a/Objects/unicodeobject.c Thu Jan 16 14:15:03 2014 -0800 +++ b/Objects/unicodeobject.c Fri Jan 17 22:10:11 2014 +0200 @@ -1902,8 +1902,7 @@ { _Py_Identifier *tmp, *s = static_strings; while (s) { - Py_DECREF(s->object); - s->object = NULL; + Py_CLEAR(s->object); tmp = s->next; s->next = NULL; s = tmp; @@ -4005,8 +4004,7 @@ return; onError: - Py_DECREF(*exceptionObject); - *exceptionObject = NULL; + Py_CLEAR(*exceptionObject); } #ifdef HAVE_MBCS @@ -6358,8 +6356,7 @@ goto onError; return; onError: - Py_DECREF(*exceptionObject); - *exceptionObject = NULL; + Py_CLEAR(*exceptionObject); } } @@ -8402,8 +8399,7 @@ goto onError; return; onError: - Py_DECREF(*exceptionObject); - *exceptionObject = NULL; + Py_CLEAR(*exceptionObject); } } @@ -13492,8 +13488,7 @@ PyObject *newbuffer; newbuffer = resize_compact(writer->buffer, writer->pos); if (newbuffer == NULL) { - Py_DECREF(writer->buffer); - writer->buffer = NULL; + Py_CLEAR(writer->buffer); return NULL; } writer->buffer = newbuffer; diff -r cd3fdf21a6e4 Python/ceval.c --- a/Python/ceval.c Thu Jan 16 14:15:03 2014 -0800 +++ b/Python/ceval.c Fri Jan 17 22:10:11 2014 +0200 @@ -3568,8 +3568,7 @@ if (co->co_flags & CO_GENERATOR) { /* Don't need to keep the reference to f_back, it will be set * when the generator is resumed. */ - Py_XDECREF(f->f_back); - f->f_back = NULL; + Py_CLEAR(f->f_back); PCALL(PCALL_GENERATOR); diff -r cd3fdf21a6e4 Python/import.c --- a/Python/import.c Thu Jan 16 14:15:03 2014 -0800 +++ b/Python/import.c Fri Jan 17 22:10:11 2014 +0200 @@ -604,8 +604,7 @@ /* Somebody already imported the module, likely under a different name. XXX this should really not happen. */ - Py_DECREF(def->m_base.m_copy); - def->m_base.m_copy = NULL; + Py_CLEAR(def->m_base.m_copy); } dict = PyModule_GetDict(mod); if (dict == NULL) diff -r cd3fdf21a6e4 Python/sysmodule.c --- a/Python/sysmodule.c Thu Jan 16 14:15:03 2014 -0800 +++ b/Python/sysmodule.c Fri Jan 17 22:10:11 2014 +0200 @@ -430,8 +430,7 @@ result = call_trampoline(callback, frame, what, arg); if (result == NULL) { PyEval_SetTrace(NULL, NULL); - Py_XDECREF(frame->f_trace); - frame->f_trace = NULL; + Py_CLEAR(frame->f_trace); return -1; } if (result != Py_None) {