From a8d64ae304f42511520960ab3c3e22bb055b5d10 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Sat, 2 Feb 2013 18:43:58 +0200 Subject: Issue #17034: Use Py_CLEAR() in stringobject.c. --- Objects/stringobject.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/Objects/stringobject.c b/Objects/stringobject.c index 0664142..7871323 100644 --- a/Objects/stringobject.c +++ b/Objects/stringobject.c @@ -3859,8 +3859,7 @@ PyString_Concat(register PyObject **pv, register PyObject *w) if (*pv == NULL) return; if (w == NULL || !PyString_Check(*pv)) { - Py_DECREF(*pv); - *pv = NULL; + Py_CLEAR(*pv); return; } v = string_concat((PyStringObject *) *pv, w); @@ -4790,12 +4789,9 @@ void PyString_Fini(void) { int i; - for (i = 0; i < UCHAR_MAX + 1; i++) { - Py_XDECREF(characters[i]); - characters[i] = NULL; - } - Py_XDECREF(nullstring); - nullstring = NULL; + for (i = 0; i < UCHAR_MAX + 1; i++) + Py_CLEAR(characters[i]); + Py_CLEAR(nullstring); } void _Py_ReleaseInternedStrings(void) @@ -4845,6 +4841,5 @@ void _Py_ReleaseInternedStrings(void) "mortal/immortal\n", mortal_size, immortal_size); Py_DECREF(keys); PyDict_Clear(interned); - Py_DECREF(interned); - interned = NULL; + Py_CLEAR(interned); } -- cgit v0.12